js实现电子时钟效果,要求每隔1秒获取一次当前时间,并提供一个按钮控制电子时钟让其停止。
时间: 2024-03-17 14:45:29 浏览: 139
好的,以下是实现电子时钟效果的 JavaScript 代码,同时添加了一个按钮控制电子时钟的停止:
HTML 代码:
```html
<div id="clock"></div>
<button id="controlBtn">停止时钟</button>
```
JavaScript 代码:
```javascript
var clockElem = document.getElementById('clock'); // 获取显示时间的元素
var isStopped = false; // 是否停止时钟的标志
// 更新时间的函数
function updateTime() {
if (!isStopped) { // 如果时钟没有停止
var now = new Date(); // 获取当前时间
var hour = now.getHours(); // 获取小时
var minute = now.getMinutes(); // 获取分钟
var second = now.getSeconds(); // 获取秒钟
// 格式化时间
var timeStr = formatTime(hour) + ':' + formatTime(minute) + ':' + formatTime(second);
clockElem.innerHTML = timeStr; // 更新显示时间的元素
}
}
// 格式化时间的函数,如果时间小于10,在前面补0
function formatTime(time) {
return time < 10 ? '0' + time : time;
}
// 每隔1秒更新时间
setInterval(updateTime, 1000);
// 控制按钮的点击事件
var controlBtn = document.getElementById('controlBtn');
controlBtn.onclick = function() {
if (isStopped) {
controlBtn.innerHTML = '停止时钟';
isStopped = false;
} else {
controlBtn.innerHTML = '启动时钟';
isStopped = true;
}
};
```
代码解释:
1. 首先获取用于显示时间的元素和控制按钮的元素。
2. 定义一个 `isStopped` 变量,用于标志时钟是否停止。
3. 定义一个 `updateTime` 函数,用于更新时间。该函数首先判断时钟是否停止,如果没有停止,则获取当前时间并格式化时间字符串,最后更新显示时间的元素。
4. 定义一个 `formatTime` 函数,用于格式化时间字符串,如果时间小于10,在前面补0。
5. 使用 `setInterval` 函数每隔1秒调用一次 `updateTime` 函数,实现更新时间的效果。
6. 控制按钮的点击事件处理函数中,如果时钟已经停止,则将标志变为未停止,并更新按钮文字为“停止时钟”;如果时钟未停止,则将标志变为已停止,并更新按钮文字为“启动时钟”。
阅读全文