これを行うと、60秒ごとに関数を実行できます。
Timer: function() {
setInterval(fxn, 60000)
},
しかし、1 分ごとに関数を実行する方法はありますか? IE は 11:20:00、11:21:00 などですか?
これを行うと、60秒ごとに関数を実行できます。
Timer: function() {
setInterval(fxn, 60000)
},
しかし、1 分ごとに関数を実行する方法はありますか? IE は 11:20:00、11:21:00 などですか?
あなたはそれを行うことができますsetTimeout()
:
function onTheMinute(fn) {
function ms() {
var now = new Date();
return (60 - now.getSeconds()) * 1000;
}
function timer() {
fn();
setTimeout(timer, ms());
}
setTimeout(timer, ms());
}
これにより、次の分の境界でタイムアウトが発生するように設定され、それが発生したときに関数が呼び出されます。毎回、新しいタイマーが次の分に設定されます。
ミリ秒もチェックすると少し正確になりますが、とにかくタイマーはそれほど正確ではありません。
タイマーの最初の実行を次の 1 分ごとにプログラムし、1 分ごとに間隔を設定します。
(function () {
var nextExecution = ((60 - (new Date()).getSeconds()) * 1000),
fnx = function () {
document.getElementById("sec").innerHTML = (new Date()).getMinutes();
};
setTimeout(function () {
fnx();
setInterval(fnx, 60 * 1000);
}, nextExecution)
}());
いいえ。
JavaScript はイベントベースです。唯一の方法は、タイマーを毎秒 (またはそれ以上) 実行し、適切な時間であれば関数を実行することです。
ここにドイツ語の素晴らしいチュートリアルがありますが、 Googleの翻訳者が役立つと思います.