使用jquery延迟,然后淡出并删除

时间:2012-07-05 10:48:37

标签: jquery css fadeout

我在网站上有一个对话框正在努力通过以下方式努力工作。

使用.append()的构建等待5秒然后fadeout()和remove()。我写了以下但它似乎没有工作。

HTML

<div class="addAddressDialog"></div>
<div class="overlay"></div>

JS

    $(".addAddressDialog").append("<span> Thank you </span>")
     .delay(5000)
     .queue(function(next){
      $('.addAddressDialog, .overlay').fadeOut('fast',function(){$(this).remove()});                                
    });

http://jsfiddle.net/mynameisdonald/pAzyc/

2 个答案:

答案 0 :(得分:3)

更新了小提琴 - http://jsfiddle.net/pAzyc/2/

请勿在回调函数中调用remove

    $('.overlay').css("height",$(document).height());

    $(".addAddressDialog").append("<span> Thank you </span>").delay(5000).queue(function(next){
      $('.addAddressDialog, .overlay').fadeOut('fast').remove(); 
});

答案 1 :(得分:0)

小小的变形你的小提琴 - http://jsfiddle.net/shershen08/pAzyc/6/所以现在它起作用了。问题是$(this)只指向一个元素,但如果你想将函数应用于几个元素,你可以使用$ .each