web-dev-qa-db-ja.com

jquery関数setInterval

$(document).ready(function(){

    setInterval(swapImages(),1000);

    function swapImages(){

        var active = $('.active'); 
        var next = ($('.active').next().length > 0) ? $('.active').next() : $('#siteNewsHead img:first');

        active.removeClass('active');
        next.addClass('active');
    }
});

Divには13枚の画像が含まれています。最初のクラスには、アクティブと呼ばれるクラスがあります。つまり、表示されます。

画像の入れ替え機能は、アクティブな画像を選択して非表示にし、次の画像をアクティブにします。

ただし、ページが読み込まれると、関数はループするのではなく、一度だけ正しく機能します。

何か案は?

13
callum.bennett

これは、参照していない関数を実行しているためです。やったほうがいい:

  setInterval(swapImages,1000);
30

swapImagesの結果を呼び出してsetIntervalに渡さないでください。このように関数を渡すだけです:

setInterval(swapImages, 1000);
10
FishBasketGordo

// setIntervalの概念を使用した簡単な例

$(document).ready(function(){
var g = $('.jumping');
function blink(){
  g.animate({ 'left':'50px' 
  }).animate({
     'left':'20px'
        },1000)
}
setInterval(blink,1500);
});
3
Rajkumar