1

ねえ、私が使用しているカウントダウンカウンターにコードを投稿しました。こちらのJSFiddleページにあります:http://jsfiddle.net/QVwGt/

そのページでわかるように、タイマーは95で開始し(秒単位) 、94、93、92、91、90、85、84、83、82、81、80、75、74などを実行します。

59、58、57から始まり、 00まで下がってから、59から再開する必要があります。以前はXXX日が残っていたときにこれを行っていましたが、2桁の日が経過してからこれを開始し、コードを調べましたが、問題の原因を見つけることができません。

それが行く限り、それは95から始まっても、59秒の目盛りのペースを保ちます(コンピューターの時計の針で見ています)。しかし、95からは見栄えが良くありません:o)

どんな助けでもこの問題を解決するのに素晴らしいでしょう!:o)

4

1 に答える 1

3
digits[c].__max = ((c-1) % 2 == 0) ? 5: 9;

ここで正しいコードをコメントアウトしました

digits[c].__max = (c % 2 == 0) ? 5: 9;

http://jsfiddle.net/QVwGt/2/

基本的に、cはイテレータです。したがって、この場合、最大値が9の2桁目、最大値が5の1桁目を探しています。イテレータは0ベースであり、1ベースを考えていることを忘れないでください。

言い換えれば、0 % 2 == 0そして1 % 2 != 0しかしあなたはそれを見て、見て1 % 2 != 0、そして2 % 2 == 0

このように書かれていれば、はるかに明確になります。

digits[c].__max = ((c + 1) % 2 == 0) ? 9: 5;
于 2012-05-24T18:54:14.413 に答える