有什么办法可以为我的计时器添加毫秒数吗?
我目前正在使用这个计时器,但它只能在几秒钟内完成.
var count=99;
var counter=setInterval(timer, 1000); //1000 will run it every 1 second
function timer(){
count=count-1;
if (count <= 0){
clearInterval(counter);
return;
}
document.getElementById("timer").innerHTML=count + " seconds"; // watch for spelling
}
Run Code Online (Sandbox Code Playgroud)
谢谢
定时器不会以毫秒精度运行 - 不仅低于标准JS最小超时,定时器事件可以排队等各种其他问题.在任何情况下(没有双关语意)你实际上看不到计时器每秒计数1000次.
只需window.requestAnimationFrame改为使用,并显示传递给该函数的时间与计时器的参考开始时间之间的差异.
var timer = document.getElementById('timer');
var expires = +new Date() + 10000;
(function update() {
var now = +new Date();
var togo = expires - now;
if (togo > 0) {
timer.innerHTML = togo;
window.requestAnimationFrame(update);
} else {
timer.innerHTML = 0;
}
})();Run Code Online (Sandbox Code Playgroud)
<div id="timer"></div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |