如何在类中执行多个setTimeout jQuery?

时间:2013-08-29 00:14:13

标签: javascript jquery html html5

我有一个名为.content的类,此内容有一个名为.data-time的属性,我想要隐藏所有具有.contentsetTimeout()类的元素,任何人可以帮帮我吗?

HTML code:

<div class="content first" data-time="200"> </div>
<div class="content second" data-time="300"> </div>
<div class="content third" data-time="400"> </div>
<div class="content fourth" data-time="500"> </div>;

jQuery代码:

    $(".content", this ).each(function(){
        var time = $(this).attr("data-time");
        setTimeout(function() {
            $(this).hide("slow");
        }, time);
    });

请帮我这样做。

2 个答案:

答案 0 :(得分:5)

setTimeout函数中,this是窗口。试试这个:

http://jsfiddle.net/uXVAs/

$(".content" ).each(function(){
        var $this = $(this);
        var time = $this.data("time");
        setTimeout(function() {            
            $this.hide("slow");
        }, time);
    });

答案 1 :(得分:1)

或者,您可以使用.delay()jquery函数。

$('.content').each(function(){
    var time = $(this).attr("data-time")
    $(this).delay(time).hide("slow")
});     

Example here.