<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>timer-计时器</title> <style> div{ width:300px; margin:0 auto; padding-top:60px; } #timer{ font-size:30px; text-align:center; } #start{ font-weight:bold; } </style> <script> var intervalId, //setInterval的id pattern = /^\d$/, //正则模式,匹配单个数值 intervalSeconds = 1000, //调用setInterval的间隔时间,设置为 1000 毫秒,即 1 秒 secondIncrement = 0; //设置秒递增器起始值为 0 //注册页面加载事件 window.onload = function () { var start = document.getElementById("start"); var timer = document.getElementById("timer"); function handleTimer() { if (!intervalId) { intervalId = setInterval(function () { secondIncrement++;
//定义一个Date对象实例 var someDate = new Date("1111/1/1,0:0:0");
//设置秒数,当secondIncrement值超过59时,则分钟数会加1 someDate.setSeconds(secondIncrement); var hours = someDate.getHours(); hours = pattern.test(hours) ? "0" + hours + ":" : hours + ":"; var minutes = someDate.getMinutes(); minutes = pattern.test(minutes) ? "0" + minutes + ":" : minutes + ":"; var seconds = someDate.getSeconds(); seconds = pattern.test(seconds) ? "0" + seconds : seconds; timer.value = hours + minutes + seconds; }, intervalSeconds); this.innerHTML = "Pause"; } else { clearInterval(intervalId); intervalId = null; this.innerHTML = "Start"; } } start.addEventListener("click", handleTimer, false); } </script> </head> <body> <div> <p><input type="text" id="timer" value="00:00:00" readonly/></p> <button id="start">Start</button> </div> </body> </html>