jQuery添加延迟

时间:2012-11-15 15:16:08

标签: javascript jquery

您好我想在jquery中添加延迟。我试图放$('.fade_test').delay(5000);它正在工作,但div最后三个是没有下一个开始。

链接到jsfiddle

HTML

<div class="fadein">
<div class="fade_test">one <button id="toggler" class="playin">Pause</button></div>
<div class="fade_test">two <button id="toggler" class="playin">Pause</button></div>
<div class="fade_test">three <button id="toggler" class="playin">Pause</button></div>
</div>​

CSS

.fadein { position:relative; height:332px; width:500px; }
.fadein .fade_test { position:absolute; left:0; top:0; }

JS

var pauseplay;    

function startFader() {


    $x = $(".fade_test:visible").fadeOut(1000);
    $next = $x.next();
    if ($next.length == 0)
        $next = $(".fade_test:first-child");

    $next.fadeIn(1000);
    $('.fade_test').delay(5000);
}

function stopFader(){
    window.clearInterval(pauseplay);
console.log("stop");
}

   $('.fadein .fade_test:gt(0)').hide();

  pauseplay= window.setInterval(startFader, 2000);


var $button = $('.fadein #toggler');
$button.toggle(function() {
stopFader();  
$(this).toggleClass('playin pausin');
 $(this).text("Play");   
}, function() {

$(this).toggleClass('pausin playin');
 $(this).text("Pause");   
    pauseplay= window.setInterval(startFader, 2000);

});

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

不是JQuery但你可以使用Javascript非常简单的setTimeout(fn,毫秒);

here 是另一篇解释

的帖子
function foo(){
   alert('foo');
}

setTimeout(foo,1000);