如何实现一个网页功能:用户点击'计时开始'按钮后,页面实时显示并每秒自动更新当前时间,而当用户双击'取消计时'按钮时,时间显示暂停并保持不变?
时间: 2024-11-05 20:26:29 浏览: 0
countime:一个倒计时软件,输入数值可以显示在屏幕上,点击开始计时,数值递减,点击停止计时,数值停止递减
要实现在网页上这样的计时功能,可以采用JavaScript编写前端代码,结合HTML和CSS创建界面元素。以下是一个简单的步骤描述:
1. HTML结构:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计时器示例</title>
<style>
.timer {
display: flex;
justify-content: space-between;
align-items: center;
}
</style>
</head>
<body>
<div class="timer">
<button id="startButton">计时开始</button>
<span id="currentTime"></span>
<button id="cancelButton" disabled>取消计时</button>
</div>
<script src="timer.js"></script>
</body>
</html>
```
2. JavaScript (timer.js):
```javascript
document.getElementById('startButton').addEventListener('click', startTimer);
document.getElementById('cancelButton').addEventListener('dblclick', pauseAndHold);
let startTime = null;
let isRunning = false;
function startTimer() {
if (!isRunning) {
isRunning = true;
startTime = Date.now();
updateTime();
} else {
alert("计时已启动,无法再次开始");
}
}
function updateTime() {
const currentTimeSpan = document.getElementById('currentTime');
currentTimeSpan.textContent = formatTime(Date.now() - startTime);
setTimeout(updateTime, 1000);
}
function formatTime(milliseconds) {
return `${milliseconds / 1000toFixed(2)} 秒`;
}
function pauseAndHold() {
if (isRunning) {
isRunning = false;
clearTimeout(updateTime);
document.getElementById('cancelButton').disabled = false;
} else {
alert("计时未启动,无法暂停");
}
}
```
在这个例子中,`startTimer`函数会在用户点击'计时开始'按钮时开始计时,并每秒通过`updateTime`函数更新显示的时间。当用户双击'取消计时'按钮时,会进入`pauseAndHold`函数,停止计时并且取消定时器。
阅读全文