簡體   English   中英

在jQuery中對.css()進行操作之前使用.delay()函數

[英]Using a .delay() function before .css() manipulation in jQuery

我有這個:

var $ul = $(this).children("ul");
$ul.animate({opacity: 0}, 1000);
$ul.delay(1000).css("display", "none")

這是我的下拉菜單,我希望它在display: none;之前消失之前消失display: none; CSS屬性。 但是,似乎.delay()不能在.css() 它不起作用, $ul消失。

我不能使用$ul.animate({opacity: 0, display: "none"}, 1000); 無論是。

動畫的最后一個參數是在動畫完成時調用的回調,因此您可以像這樣使用它:

$ul.animate({opacity: 0}, 1000, function() { 
    $(this).css("display", "none")
});

就像codeka所說的那樣,這里的回調是正確的方法,但是您可以使用內置的一些快捷方法進一步簡化它,如.fadeOut().fadeOut() .hide() ,如下所示:

$ul.fadeOut(1000, function() {
  $(this).hide();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM