最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用js模擬JQuery的show與hide動畫函數(shù)代碼

 更新時間:2010年09月20日 00:44:13   作者:  
用javascript實現(xiàn)的模擬jquery下的顯示與隱藏的動畫效果,學(xué)習(xí)的朋友可以參考下。
復(fù)制代碼 代碼如下:

//根據(jù)ID返回dom元素
var $ = function(id){return document.getElementById(id);}
//返回dom元素的當(dāng)前某css值
var getCss = function(obj,name){
//ie
if(obj.currentStyle) {
return obj.currentStyle[name];
}
//ff
else {
var style = document.defaultView.getComputedStyle(obj,null);
return style[name];
}
}

Hide函數(shù):

復(fù)制代碼 代碼如下:

var hide = function(obj,speed,fn){
obj = $(obj);

if (!speed) {
obj.style.display = 'none';
return;
}
else{
speed = speed==='fast'?20:speed==='normal'?30:50;
obj.style.overflow = 'hidden';
}
//獲取dom的寬與高
var oWidth = getCss(obj,'width'), oHeight = getCss(obj,'height');
//每次dom的遞減數(shù)(等比例)
var wcut = 10*(+oWidth.replace('px','') / +oHeight.replace('px','')),hcut = 10;
//處理動畫函數(shù)
var process = function(width,height){
width = +width-wcut>0?+width-wcut:0;
height = +height-hcut>0?+width-hcut:0;
//判斷是否減完了
if(width !== 0 || height !== 0) {
obj.style.width = width+'px';
obj.style.height = height+'px';

setTimeout(function(){process(width,height);},speed);
}
else {
//減完后,設(shè)置屬性為隱藏以及原本dom的寬與高
obj.style.display = 'none';
obj.style.width = oWidth;
obj.style.height = oHeight;
if(fn)fn.call(obj);
}
}
process(oWidth.replace('px',''),oHeight.replace('px',''));
}

Show函數(shù)與Hide函數(shù)類似,只是思路相反而已

復(fù)制代碼 代碼如下:

var show = function(obj,speed,fn){

obj = $(obj);

if (!speed) {
obj.style.display = 'block';
return;
}
else{
speed = speed==='fast'?20:speed==='normal'?30:50;
obj.style.overflow = 'hidden';
}

var oWidth = getCss(obj,'width').replace('px',''), oHeight = getCss(obj,'height').replace('px','');
var wadd = 10*(+oWidth / +oHeight),hadd = 10;

obj.style.width = 0+'px';
obj.style.height = 0+'px';
obj.style.display = 'block';

var process = function(width,height){
width = +oWidth-width<wadd?+oWidth:wadd+width;
height = +oHeight-height<hadd?oHeight:hadd+height;

if(width !== +oWidth || height !== +oHeight) {
obj.style.width = width+'px';
obj.style.height = height+'px';

setTimeout(function(){process(width,height);},speed);
}
else {
obj.style.width = oWidth+'px';
obj.style.height = oHeight+'px';
if(fn)fn.call(obj);
}
}
process(0,0);
}


調(diào)用方式如:

復(fù)制代碼 代碼如下:

hide('a','normal',function(){
show('a','normal');
});


呃。。。感覺寫得好冗余,但不知要如何再優(yōu)化,希望有高手能寫個精簡些的。。。

相關(guān)文章

  • 理解javascript對象繼承

    理解javascript對象繼承

    這篇文章主要幫助大家理解javascript對象繼承,先從一個問題出發(fā),引入javascript對象繼承相關(guān)知識,感興趣的小伙伴們可以參考一下
    2016-04-04
  • javascript利用鍵盤控制小方塊的移動

    javascript利用鍵盤控制小方塊的移動

    這篇文章主要為大家詳細(xì)介紹了javascript利用鍵盤控制小方塊的移動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 跟我學(xué)習(xí)javascript的循環(huán)

    跟我學(xué)習(xí)javascript的循環(huán)

    跟我學(xué)習(xí)javascript的循環(huán),本文不僅針對javascript循環(huán)進(jìn)行講解,還對prototype補充了幾點小tips,歡迎大家閱讀。
    2015-11-11
  • JS題解leetcode去掉最低工資和最高工資后的工資平均值

    JS題解leetcode去掉最低工資和最高工資后的工資平均值

    這篇文章主要為大家介紹了JS題解leetcode去掉最低工資和最高工資后的工資平均值,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • uniapp自定義應(yīng)用退出執(zhí)行內(nèi)容實例代碼

    uniapp自定義應(yīng)用退出執(zhí)行內(nèi)容實例代碼

    近幾日使用uni-app開發(fā)移動應(yīng)用APP遇到了個不常見的需求,下面這篇文章主要給大家介紹了關(guān)于uniapp自定義應(yīng)用退出執(zhí)行內(nèi)容的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • js獲取和設(shè)置屬性的方法

    js獲取和設(shè)置屬性的方法

    本篇文章主要是對js獲取和設(shè)置屬性的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • WordPress 插件——CoolCode使用方法與下載

    WordPress 插件——CoolCode使用方法與下載

    本插件原修改自 Chroder.com 的 WordPress Code Highlight 插件。但 CoolCode 插件在它基礎(chǔ)上修改了很多的內(nèi)容。
    2007-07-07
  • js 點擊a標(biāo)簽 獲取a的自定義屬性方法

    js 點擊a標(biāo)簽 獲取a的自定義屬性方法

    下面小編就為大家?guī)硪黄猨s 點擊a標(biāo)簽 獲取a的自定義屬性方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • JavaScript中的值類型轉(zhuǎn)換介紹

    JavaScript中的值類型轉(zhuǎn)換介紹

    這篇文章主要介紹了JavaScript中的值類型轉(zhuǎn)換介紹,本文講解了值類型轉(zhuǎn)換規(guī)則、值類型轉(zhuǎn)換與比較、顯式類型轉(zhuǎn)換、對類型自動轉(zhuǎn)換的使用等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • JavaScript 字符串操作的幾種常見方法

    JavaScript 字符串操作的幾種常見方法

    JavaScript 操作字符串的幾種常見方法,需要的朋友可以參考下。
    2009-11-11

最新評論

清流县| 墨江| 应城市| 洪湖市| 桐城市| 甘泉县| 荆州市| 麻栗坡县| 南丰县| 文安县| 湘阴县| 安龙县| 会同县| 彰化县| 昌宁县| 疏附县| 长兴县| 和平区| 宝鸡市| 西峡县| 西华县| 广平县| 金堂县| 普陀区| 安塞县| 隆德县| 那曲县| 禹城市| 洮南市| 甘谷县| 佛冈县| 三门县| 潼南县| 呼伦贝尔市| 晴隆县| 和顺县| 五华县| 搜索| 湘潭市| 色达县| 新营市|