从javascript计数计时器显示当前时间
Display current time from javascript count up timer
这是我的代码:
function timer() {
var minutesLabel = document.getElementById("minutes");
var secondsLabel = document.getElementById("seconds");
var totalSeconds = 0;
setInterval(setTime, 1000);
function setTime() {
++totalSeconds;
secondsLabel.innerHTML = pad(totalSeconds % 60);
minutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));
}
function pad(val) {
var valString = val + "";
if (valString.length < 2) {
return "0" + valString;
} else {
return valString;
}
}
};
当用户单击按钮时,将调用此函数,并且此代码仅以XX:XX(分钟,秒)格式创建一个计时器,这没关系。
我想要的是当用户单击另一个按钮时,显示一个警报框,说明它在哪个时间单击(取决于计时器,它走了多远),然后停止计时器。
如何使用javascript或jQuery执行此操作?
就像一些评论者提到的,你应该使用clearInterval
来停止计时器。您将 setInterval
返回的值传递给它 timer
.
您已经存储了分钟和秒,因此只需使用这些 DOM 元素:
例如,一个名为 clearTimer
的函数:
function clearTimer() {
if (timer_handle) {
clearInterval(timer_handle);
}
alert(document.getElementById("minutes").innerHTML + ':' + document.getElementById("seconds").innerHTML);
}
这是一个工作的小提琴。请注意,我删除了原始代码中的一些闭包;它应该以任何一种方式工作,但我认为使用单独的函数会更干净一些。
您可能还需要在单击按钮启动计时器时检查计时器句柄是否尚不存在。如果不这样做,将启动第二个计时器,并且您保存的句柄将覆盖第一个计时器。如果发生这种情况,您将无法停止第一个计时器。
这是一个工作小提琴。
如果您想这样做,请停止计时器并显示自计时器启动以来已经过去了多长时间,这对于您已经拥有的内容非常简单。只需添加:
function stop(){
alert(
pad(parseInt(totalSeconds/60))+
":"+
pad(totalSeconds%60)
);
}
还有一个带有onclick="stop()"
的按钮.
我移动了你的代码,因为它看起来有点不对劲。
var totalSeconds = 0;
var minutesLabel = document.getElementById("minutes");
var secondsLabel = document.getElementById("seconds");
var stepper = setInterval(setTime, 1000);
function setTime() {
++totalSeconds;
secondsLabel.innerHTML = pad(totalSeconds % 60);
minutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));
}
function pad(val) {
var valString = val + "";
if (valString.length < 2) {
return "0" + valString;
} else {
return valString;
}
}
function stop(){
clearInterval(stepper);
alert(
pad(parseInt(totalSeconds/60))+
":"+
pad(totalSeconds%60)
);
}
相关文章:
- javascript函数将当前时间显示为html选择标记的预选值
- Javascript:如何以毫秒为单位将时间显示为天:小时:分钟
- 使用 Javascript 根据星期几和一天中的时间显示 HTML 元素
- 脚本 - 不同的时间显示不同的内容
- Javascript时间显示来自计算机的上午/下午(快速调整)
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间
- 如何仅在指定时间显示文本
- 按星期几和一天中的时间显示不同的背景图像
- 使用不同的持续时间显示一个接一个的图像,中间有一个空白屏幕
- 根据当前加载时间显示链接
- 我想根据它们的时间和持续时间显示json中的元素,并且间隔被settimeout打断
- Javascript在特定时间显示隐藏元素
- 有x轴上的时间显示最近24小时从当前时间
- 鼠标悬停在多个折线图上,相同的x(时间)显示不同的y(价格)
- 在没有偏移时,以本地时间显示数据库中的UTC datetime
- 如何循环在不同时间显示问候语的函数
- 根据一天中的时间显示不同的复选框
- 根据服务器日期和时间显示和隐藏
- JavaScript错误的时间显示在两个时间之间
- Web应用程序中的时区敏感日期和时间显示