簡體   English   中英

如何使setTimeout函數連續循環?

[英]How to make a setTimeout function continuously loop?

如何使setTimeout函數連續循環?

例如

setTimeout(function(){  
        $(".slide2").hide();
        $(".slide").show();
        setTimeout(function(){
            $(".slide").hide();
            $(".slide2").show();
        }, 1000);
    }, 1000);

setInterval實際上是邪惡的,如果setInterval中的代碼花費的時間比你設置的時間長,它將在函數完成所有操作之前創建另一個進程。 所以選擇setTimeout實際上更好。

要在setTimeout創建函數循環,請使用以下語法:

function function1() {
    console.log({} + [] + " = {} + []"); // run this it is actually funny
}

function runner() {
    function1();
    setTimeout(function() {
        runner();
    }, time);
}

runner();

您可以減少嵌套,並且可能使用setTimeout和toggle將處理其余部分(在執行之前默認顯示您的第一個元素。)。

function slideEm()
{
    $(".slide2").toggle(); 
    $(".slide").toggle(); // Make this visible first
    window.setTimeout(slideEm, 1000);
}

slideEm();

或者使用setInterval

function slideEm()
{
    $(".slide2").toggle(); 
    $(".slide").toggle(); // Make this visible first

}

$(function(){
     $('.slide').show(); //Using css hide both of them and show this first
    window.setInterval(slideEm, 1000); // start the callback loop with a sec interval
});

演示

請改用setIntervaltoggle()

setInterval(function () {
    $(".slide2").toggle();
    $(".slide").toggle();
}, 1000);

jsFiddle例子

暫無
暫無

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

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