jQueryタイマーを使用してjs関数を呼び出す


137

とにかくJQueryのタイマーを実装することはありますか?10秒ごとにjs関数を呼び出す必要があります。

私は以下を試しました

window.setTimeout(function() {
 alert('test');
}, 10000);

しかし、これは一度だけ実行され、その後二度と実行されません。

回答:


216

あなたはこれを使うことができます:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }

50
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

関数を繰り返し呼び出します。その関数への各呼び出しの間に一定の時間遅延があります。


45

jQuery Timerをチェックアウトして、1つまたは複数のタイマーを管理したい場合があります。

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

その後、次のように制御できます。

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...

素晴らしいユーティリティ。ライフサイクルを制御できます。
Jigar Shah

あるタイマーが別のタイマーを制御する必要がある場合に非常に役立ちます
Onimusha

1
im:エラーが発生しました:( "TypeError:$ .timer is not a function"
sjd

2
これは、リンクからプラグインを取得する必要があるためです。
Giszmo 2014

25

setIntervalは必要な関数です。これは、xミリ秒ごとに繰り返されます。

window.setInterval(function() {
    alert('test');
}, 10000);

11

jQuery 1.4には、.delay(duration、[queueName])メソッドも含まれています。これは、トリガーする必要があるのが1回だけで、そのバージョンの使用をすでに開始している場合です。

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

おっと...トリガーし続けるイベントを探していた私の間違い。これはここに残しておきます。誰かが役立つと思うかもしれません。



2

setInterval()メソッドを使用することもできます。 たとえば、カスタム関数からsetTimeout()を呼び出すこともできます。

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();

-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}

6
-1は、単に関数を提供する代わりにevalに文字列を提供することが、あまりにも多くのバグの原因であるためです。
VOG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.