久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

03
2017/08

animate在不支持display屬性后該怎么辦?

發(fā)布時(shí)間:2017-08-03 13:48:46
發(fā)布者:jiangbing
瀏覽量:
0

在最近一個(gè)項(xiàng)目中遇到一個(gè)問(wèn)題,用jQuery寫animate的display屬性沒(méi)起效果。

$('.left').animate({'display':'block'},500)

沒(méi)有任何效果。

然后各種搜索,對(duì)jQuery庫(kù)內(nèi)animate()的方法進(jìn)一步了解,得知這樣的一個(gè)情況:

Note: Unlike shorthand animation methods such as .slideDown() and .fadeIn(), the .animate() method does not make hidden elements visible as part of the effect. For example, given $( "someElement" ).hide().animate({height: "20px"}, 500), the animation will run, but the element will remain hidden.

這句話的意思是:

注:不同于速記動(dòng)畫等方法  .slidedown()和.fadein(),這個(gè).animate()方法不使隱藏元素的可見(jiàn)部分的影響。例如,給定的$('someelement').hide().animate({height:“20px”},500),動(dòng)畫將運(yùn)行,但會(huì)保持隱藏元素。

不難看出animate()方法對(duì)于元素的hide()和show()是無(wú)效的,如果我們真想采用animate()方法進(jìn)行動(dòng)畫顯隱,可以無(wú)償利用opacity屬性(透明度)來(lái)實(shí)現(xiàn)。

元素顯示也就是元素的opacity不透明屬性為1,元素隱藏也就是元素的opacity不透明屬性為0。

所以可以這樣寫:

//顯示元素
$('.left').show();
$('.left').animate({opacity:1},500);

//隱藏元素
$('.left').animate({opacity:0},500);
$('.left').hide();

或者用漸入漸出的方法也可以:

//顯示彈窗元素
$('.left').fadeIn();
 
//隱藏彈窗元素
$('.left').fadeOut();


關(guān)鍵詞:
返回列表