7つの変数(秒)を取得しました。それらを使用してカウントダウンを表示しています。それらすべてが同じページで同時にカウントダウンします。「0」に達した後、「59」に設定したいと思います。私はjavascriptを初めて使用するので、ばかげた質問であれば申し訳ありません。
これが私のコードです:
s--; s2--; s3--; s4--; s5--; s6--; s7--;
var array_s = [s, s2, s3, s4, s5, s6, s7];
for (var i = 0; i < array_s.length; i++) {
var result = array_s[i];
if( result < 0) {
result = 59;
}
}
編集:この方法も試しました:
var array_s = [s, s2, s3, s4, s5, s6, s7];
for (var i = 0; i < array_s.length; i++) {
if( array_s[i] < 0) {
array_s[i] = 59;
}
}
しかし、彼らは「0」の後もカウントダウンを続けます。それで、私の問題はどこにありますか、私は何を間違っていますか?
編集:私は長さの間違いを編集しました
あなたは、設定しているresult
59に背をしていますが、適切なにその値のバックを設定することはありませんしているsN
変数。設定array_s[i]
だけでは、sN
変数ではなく配列内の値が修正されるため、現在のコードでは機能しません。
sN
変数を完全に取り除き、配列を使用することをお勧めします。
// initialize array once
var array_s = [...];
...
for (var i = 0; i < array_s.length; i++) {
var result = array_s[i];
result--; // decrement each value
if(result < 0) { // check for values < 0
result = 59;
}
array_s[i] = result; // update values
}
注:このデモンストレーションでは、タイマーを大幅に高速化したため、値が0を超えて減少し、リセットされていることが簡単にわかります。また、それがあることを認識することが重要だsetInterval
とsetTimeout
特に正確ではありません、あなたが本当にあなたのタイマー秒まで正確にダウンを行う必要がありそうならば、あなたはおそらく、他の方法、例えば使用して使用する必要がありますDate
オブジェクトを。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加