HTML5计时器小例子:,,``
html,,,,,HTML5 计时器,,,,HTML5 计时器,,开始,停止,重置,,,,,var seconds = 0;,var timerId;,,function startTimer() {, if (!timerId) {, timerId = setInterval(function() {, seconds++;, document.getElementById("timer").innerHTML = "计时: " + formatTime(seconds);, }, 1000);, },},,function stopTimer() {, clearInterval(timerId);, timerId = null;,},,function resetTimer() {, stopTimer();, seconds = 0;, document.getElementById("timer").innerHTML = "计时: " + formatTime(seconds);,},,function formatTime(seconds) {, var hours = Math.floor(seconds / 3600);, var minutes = Math.floor((seconds % 3600) / 60);, var remainingSeconds = seconds % 60;, return (hours< 10="" "0"="" +="" hours="" :="" hours)="" +="" ":"="" +="">< 10="" "0"="" +="" minutes="" :="" minutes)="" +="" ":"="" +="">< 10="" "0"="" +="" remainingseconds="" :="">``HTML结构
HTML部分定义了基本的页面结构,包括一个<canvas>元素用于显示倒计时信息,以下是一个简单的HTML结构示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF8">
<title>HTML5 计时器</title>
</head>
<body>
<canvas id="countdownCanvas" width="200" height="100"></canvas>
<script src="script.js"></script>
</body>
</html>
CSS样式

CSS部分定义了页面的样式,包括canvas元素的边框、字体和位置等,以下是一个简单的CSS样式示例:
#countdownCanvas {
border: 1px solid #000;
display: block;
margin: auto;
font: 48px Arial, sansserif;
textalign: center;
}
JavaScript计时器逻辑
JavaScript部分定义了倒计时的逻辑,包括初始化倒计时时间、创建定时器、绘制倒计时信息等,以下是一个简单的JavaScript代码示例:
// 初始化倒计时时间(单位:秒)
var countDownSeconds = 60;
// 存储定时器的变量
var handle = null;
// 窗口加载完成后执行的函数
function onLoadWindow() {
// 获取canvas元素和2D渲染上下文
var canvas = document.getElementById("countdownCanvas");
var context = canvas.getContext("2d");
// 设置初始显示文本
var canvasText = "开始";
var xPos = canvas.width / 2;
var yPos = canvas.height / 2;
// 在canvas上绘制文本
context.fillText(canvasText, xPos, yPos);
}
// 更新canvas上的倒计时信息
function updateCanvas() {
// 如果倒计时结束,清除定时器并显示提示信息
if (countDownSeconds <= 0) {
clearInterval(handle);
handle = null;
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillText("Time's Up!", xPos, yPos);
return;
}
// 更新倒计时数值
countDownSeconds;
// 计算分钟和秒数
var min = Math.floor(countDownSeconds / 60);
var sec = countDownSeconds % 60;
// 如果分钟和秒数小于10,前面补0
if (min < 10) { min = "0" + min; }
if (sec < 10) { sec = "0" + sec; }
// 在canvas上绘制新的倒计时信息
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillText(min + ":" + sec, xPos, yPos);
}
// 启动倒计时
function startCountDown() {
if (handle != null) { return; }
handle = setInterval(updateCanvas, 1000);
}
// 暂停倒计时
function pauseCountDown() {
if (handle == null) { return; }
clearInterval(handle);
handle = null;
}
// 重置倒计时
function resetCountDown() {
pauseCountDown();
countDownSeconds = 60;
updateCanvas();
}
// 绑定事件
document.getElementById("startButton").addEventListener("click", startCountDown);
document.getElementById("pauseButton").addEventListener("click", pauseCountDown);
document.getElementById("resetButton").addEventListener("click", resetCountDown);
相关问答FAQs
1. 如何调整倒计时的时间长度?
答:可以通过修改countDownSeconds变量的值来调整倒计时的时间长度,将countDownSeconds设置为120,倒计时时间就会变为120秒(即2分钟)。
2. 如何自定义倒计时的样式?
答:可以通过修改CSS样式来自定义倒计时的外观,可以修改#countdownCanvas选择器的font属性来改变字体大小和类型,或者修改border属性来改变边框样式。