7

setTimeout 関数を継続的にループさせるにはどうすればよいですか?

例えば

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

3 に答える 3

3

代わりにsetIntervalandを使用してください。toggle()

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

jsFiddle の例

于 2013-06-15T18:37:54.207 に答える
3

ネストを減らすことができ、おそらくsetTimeoutを使用すると、トグルが残りを処理します (実行前にデフォルトで最初の要素を表示します)。

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
});

デモ

于 2013-06-15T18:38:24.337 に答える