如何使setTimeout函数连续循环

How to make a setTimeout function continuously loop?

本文关键字:连续 循环 函数 setTimeout 何使      更新时间:2023-09-26

如何使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);
<<p> jsFiddle例子/strong>