有谁知道以下场景最适合使用什么功能?
当一首歌开始播放时,我想启动一个以秒为单位的“秒表”。
在任何时候,我都希望能够调用此变量,例如您单击的按钮将alert(time)
显示计时器的计数。
但是,当我运行一个函数时,reset-timer();
我希望这一切都重置并重新开始计数。
我在想 settimeout 或 setinterval 但不确定哪个是正确的。
谢谢 :)
有谁知道以下场景最适合使用什么功能?
当一首歌开始播放时,我想启动一个以秒为单位的“秒表”。
在任何时候,我都希望能够调用此变量,例如您单击的按钮将alert(time)
显示计时器的计数。
但是,当我运行一个函数时,reset-timer();
我希望这一切都重置并重新开始计数。
我在想 settimeout 或 setinterval 但不确定哪个是正确的。
谢谢 :)
这是一个让您入门的基本概念:http: //jsfiddle.net/V29qK/1/
var startTime = new Date();
function SetTime(){
var curTime = new Date();
var seconds = Math.round((curTime - startTime) / 1000) + " second(s)";
document.getElementById("timer").innerHTML = seconds;
}
var interval = setInterval(SetTime, 1000);
function ResetTime(){
document.getElementById("timer").innerHTML = "0 second(s)";
startTime = new Date();
}
逻辑是:将全局变量设置为 anew Date()
以表示开始时间。在间隔(或超时)上,获取当前new Date()
并从中减去开始时间。这将为您提供以毫秒为单位的差异。然后,您可以使用此数据更新您想要的任何 UI 元素。
要“重置”计时器,您只需将开始时间设置为当前时间new Date()