想了很久,终于想通了关于curShowTimeSeconds(实际显示的剩余时间)的值的问题。
关键在于下面这段代码
curShowTimeSeconds = getCurrentShowTimeSeconds()
setInterval(
function(){
render( context );
update();
}
,
50
);
}
由于curShowTimeSeconds = getCurrentShowTimeSeconds()在整个需要每50毫秒刷新的
setInterval()方法的外部,因此实际上来说,curShowTimeSeconds只有第一次得到的赋值是直接从系统时间获得的与endTime时间的差值而来的。
而以后每次得到的值只能是nextSeconds赋值给它的!!因为curShowTimeSeconds = getCurrentShowTimeSeconds()”这句话在方法外部,每50ms的刷新刷不到它!自然也不能通过getCurrentShowTimeSeconds()函数来获得新值!
然而只有nextSeconds是属于setInterval()方法的内部的,可以每次通过刷新来得到当前系统时间,从而与已有的curShowTimeSeconds 比较来决定是否赋新值给它!