用时间差更新%计数

Update % count with time diff

本文关键字:计数 更新 时间差      更新时间:2023-09-26

在这个div中,我希望输出的百分比计数随着时间的推移而更新。例如:我有startTime, NowTime和stopTime值。我有一个显示百分比的div(显示时间差b/w的百分比)。我想更新这个百分比随着现在时间的推移,越来越接近停止时间。当NowTime == StopTime时,我希望它从0%开始并在100%结束。

感谢任何帮助。

function cal(){
var NowTime = new Date(); //Time Now
var StartTime = new Date($('.StartTime').val());
var StopTime = new Date($('.StopTime').val());
var diffStpStr = Math.ceil(StopTime - StartTime); //diff b/w start and stop time    
var diffNwStr = Math.ceil(NowTime - StartTime); //StartTime in past
var Percent = (parseInt((diffNwStr/ ( diffStpStr/ 100)).toFixed(0)));
$('.CountPercentage').text(Percent + '%'); //% calculation  
}
setInterval = (cal,1000);
cal()

这是我的小提琴:http://jsfiddle.net/6LB76/91/问题:无法更新。它显示,只是停留,但不更新。谢谢你

setInterval = (cal,1000);应为setInterval(cal,1000);

更新这个,它工作。这是因为setInterval是一个函数(在window对象上),所以您需要调用它,而不是赋值它。JS不会抛出一个错误的赋值,虽然,因为你只是改变一个属性值(1000,在这种情况下)。

工作小提琴