|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
<!DOCTYPE html>
<html>
<head>
<title>实现计时器</title>
</head>
<body>
<h1>实现计时器</h1>
<p>
<span id="hour">00</span><span>:</span>
<span id="minute">00</span><span>:</span>
<span id="second">00</span>
</p>
<button id="start">开始</button>
<button id="pause">暂停</button>
<button id="stop">停止</button>
<script>
var hour = 0;
var minute = 0;
var second = 0;
var intervalId;
// 简化获取 DOM 元素操作
function getEleById(id) {
return document.getElementById(id);
}
// 补零函数,满足显示效果
function addZero(num) {
return num >= 10 ? num : '0' + num;
}
// 将时分秒设置到页面上
function setTimeOnDOM() {
getEleById('hour').innerText = addZero(hour);
getEleById('minute').innerText = addZero(minute);
getEleById('second').innerText = addZero(second);
}
getEleById('start').onclick = function () {
// 如果计时器存在,直接返回,避免重新创建计时器
if (intervalId) {
return;
}
// 开启计时器
intervalId = setInterval(function () {
// 秒数+1
second++;
// 如果到了60秒,则秒数设为0,分钟+1
if (second >= 60) {
second = 0;
minute++;
// 如果到了60分钟,则分钟设为0,小时+1
if (minute >= 60) {
minute = 0;
hour++;
}
}
// 将时间设置到页面上
setTimeOnDOM();
}, 1000);
};
getEleById('pause').onclick = function () {
// 清除计时器
clearInterval(intervalId);
intervalId = null;
};
getEleById('stop').onclick = function () {
// 停止计时器并重置时间
clearInterval(intervalId);
intervalId = null;
hour = 0;
minute = 0;
second = 0;
setTimeOnDOM();
};
</script>
</body>
</html> |
|