昨天到现在一直在完成一个用canvas实现的倒计时的小案列,用到Date对象和getTime方法来计算倒计时的时间。老是有问题,不知道怎么回事。贴error:
昨天是2016年7月18日 endTime初始化了倒计时什么时间截至。注意是”7“。
计算时间差的函数getCurrentShowTimeSecond(),
console.log("endTime:" + endTime); console.log("curTime: "+curTime);这两行是调试的时候加的。
下面是计算每个数字的位置,代表数字(0~9)几,以及绘制的动作cxt;这里调用了函数renderDigit来完成最终的绘制数字。
renderDigit函数
这其中当然还有一些将毫秒转换成小时,分钟,秒的计算,都没有问题的。
但是在浏览器中预览的时候,有错误
首先是说我的digit[num]undefined。通过输出的endTime和curTime来看,endTime是2016年8月19号,而curTime是2016年7月19号。相隔一个月,转换成小时也就是720多个小时。两位数当然不能表示720个小时咯,所以报错了。但是问题来了:我输入的7月怎么打印出来是8月呢?难道一年的12个月是从0开始计数的吗?按照这个猜想,把7月改成6月,结果就----成了!成了!成了!ORZ!
不管怎么样又可以继续了。
首先是说我的digit[num]undefined。通过输出的endTime和curTime来看,endTime是2016年8月19号,而curTime是2016年7月19号。相隔一个月,转换成小时也就是720多个小时。两位数当然不能表示720个小时咯,所以报错了。但是问题来了:我输入的7月怎么打印出来是8月呢?难道一年的12个月是从0开始计数的吗?按照这个猜想,把7月改成6月,结果就----成了!成了!成了!ORZ!
不管怎么样又可以继续了。