JavaScriptを使用してウェブサイトにバイナリクロックを表示します。サイトが最初にロードされるとき、時計は適切な時刻に設定され、更新される必要があります。最初のメソッド呼び出しですべてのif-bodyを実行する正しい方法
この現象を起こす正しい方法は何ですか?今私はすべての更新時にチェックされ、最初の実行後にfalseに設定されているvarを持っています。
この関数をコピーして条件を削除して他の関数を呼び出す方が良いでしょうか?
これは、関数である:
time.firstRun = true;
function updateBinaryClock() {
var now = moment().toObject();
var bin;
if (time.showClockWithSeconds) {
bin = toSixBit(now.seconds.toString(2));
setColor(".binSec", bin);
}
if (now.seconds == 0 || time.firstRun) {
bin = toSixBit(now.minutes.toString(2));
setColor(".binMin", bin);
}
if (now.minutes == 0 || time.firstRun) {
bin = toSixBit(now.hours.toString(2));
setColor(".binHour", bin);
}
if (time.firstRun) {
time.firstRun = false;
}
setTimeout(updateBinaryClock, 0.1 * 1000);
}
がある私は、パラメータを追加することに注意してください: '関数updateBinaryClock (firstRun){...} 'を呼び出し、それを初めて呼び出す:' updateBinaryClock(true); '。そして、 'setTimeout'によって呼び出されると、このパラメータはもう存在しません。 – blex