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 的第二个数字,以及最大为 5 的第一个数字。请记住,您的迭代器是基于 0 的,而您正在考虑基于 1。

换句话说,0 % 2 == 01 % 2 != 0你看着它,看到1 % 2 != 02 % 2 == 0

如果这样写会更清楚:

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