90

一部のJSコードを60秒ごとに実行する方法はありますか?whileループで可能かもしれないと思っていますが、もっといい解決策はありますか?いつものように、JQueryを歓迎します。

4

3 に答える 3

161

setIntervalの使用:

setInterval(function() {
    // your code goes here...
}, 60 * 1000); // 60 * 1000 milsec

この関数は、 clearIntervalを使用して間隔をクリアできるIDを返します。

var timerID = setInterval(function() {
    // your code goes here...
}, 60 * 1000); 

clearInterval(timerID); // The setInterval it cleared and doesn't run anymore.

「姉妹」関数はsetTimeout / clearTimeoutでそれらを検索します。


ページの初期化で関数を実行し、60秒後、120秒後、...:

function fn60sec() {
    // runs every 60 sec and runs on init.
}
fn60sec();
setInterval(fn60sec, 60*1000);
于 2012-11-09T08:22:24.943 に答える
12

これに使用できますsetInterval

<script type="text/javascript">
function myFunction () {
    console.log('Executed!');
}

var interval = setInterval(function () { myFunction(); }, 60000);
</script>

を設定してタイマーを無効にしますclearInterval(interval)

このフィドルを参照してください:http://jsfiddle.net/p6NJt/2/

于 2012-11-09T08:31:31.053 に答える
0

毎分の開始時に関数を呼び出す

let date = new Date();
let sec = date.getSeconds();
setTimeout(()=>{
  setInterval(()=>{
    // do something
  }, 60 * 1000);
}, (60 - sec) * 1000);
于 2022-02-07T13:30:42.557 に答える