重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
div id="counter"/div
成都创新互联公司是专业的鸡西梨树网站建设公司,鸡西梨树接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行鸡西梨树网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
script
var counter = document.getElementById("counter");
function count(){
var time = 50;
counter.innerHTML = time;
var timer = setInterval(function(){
time--;
counter.innerHTML = time;
if(time==0){
alert("游戏结束");
clearInterval(timer);
}
},1000);
}
count();
/script
定义一个全局变量就可以了,这我写的,你可以看看
html
head
title秒表/title
script
var timeId;
var count = 0;
function go(){
timeId = setInterval(function(){
count += 1;
document.getElementById("seconds").innerText = count;
},1000);
}
function purse(){
clearInterval(timeId);
}
/script
/head
body style="text-align:center;" onLoad="go()"
秒表:span id="seconds" style="color:red;font-size:20px;"0/span秒
input type="button" value="暂停" onclick="purse()"
input type="button" value="恢复" onclick="go()"
/body
/html
htmlheadscript type="text/javascript"function startTime(){var today=new Date()var h=today.getHours()var m=today.getMinutes()var s=today.getSeconds()// add a zero in front of numbers10m=checkTime(m)s=checkTime(s)document.getElementById('txt').innerHTML=h+":"+m+":"+st=setTimeout('startTime()',500)} function checkTime(i){if (i10) {i="0" + i} return i}/script/head body onload="startTime()"div id="txt"/div/body/html
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
title跑秒计时器/title
/head
script language="javascript"
var _TimeID=null;
var _Str = "00:00:00:00";
var _H = 0; //小时初始值
var _mm = 0; //分钟初始值
var _ss = 0; //秒钟初始值
var _TimeCount=0;//毫秒初始值
function setMyTime()
{
_TimeCount++;
if(_TimeCount=59){//判断毫秒是否大于或等于59毫秒
_TimeCount = 0;//条件成立,清除毫秒计时
_ss++//秒钟增加
if(_ss=59){//判断秒钟是否大于或等于59秒
_ss = 0;//条件成立,清除秒钟计时
_mm++//分钟增加
if(_mm=59){//判断分钟是否大于或等于59分
_mm = 0;//条件成立,清除分钟计时
_H++//小时增加
}
}
}
var _Hz = "";
var _mmz = "";
var _ssz = "";
var _TCz = "";
if(_H10){_Hz = "0"}//小于两位数时,在前面加0
if(_mm10){_mmz = "0"}
if(_ss10){_ssz = "0"}
if(_TimeCount10){_TCz = "0"}
_Str = _Hz+_H+":"+_mmz+_mm+":"+_ssz+_ss+":"+_TCz+_TimeCount
document.getElementById("sj").innerText=_Str;
}
function Sta()
{
_TimeID=setInterval("setMyTime();",1);
}
function Stop()
{
if(_TimeID==null) alert('秒表还没有开始');
else clearInterval(_TimeID);
}
function Clear()
{
_H = 0; //清除小时
_mm = 0; //清除分钟
_ss = 0; //清除秒钟
_TimeCount=0;//清除毫秒
_Str = "00:00:00:00";//清除变量
document.getElementById("sj").innerText=_Str;//赋值innerText到sj
if(_TimeID==null) alert('秒表还没有开始');
else clearInterval(_TimeID);
}
/script
body
form id="form1" name="form1" method="post" action=""
label
/label
label
span id="sj"00:00:00:00/span
p/p
input type="button" name="Submit" value="开始" onclick="Sta();" /
input type="button" name="Submit3" value="停止" onclick="Stop();" /
/label
label
input type="button" name="Submit2" value="清除" onclick="Clear();" /
/label
/form
span style="font-size:12px; color:#ccc"
注意:执行代码需要时间,时、分、秒结果会有差异,谨慎使用!
p/p
供新人参考,高手勿视,纯属娱乐学习!
/span
/body
/html
计时器, 在生活当中也是用得频繁的功能, 比如锻炼身体, 跑步比赛等等相关的活动. 我们用Javascript来完成一个计时器.
计时器, 主要就是对时间的一个逻辑处理, 比如60秒等于1分钟, 60分钟等于一个小时, 我们这里只做到小时的处理. 就这么一个简单的逻辑, 然后动态的显示在一个Input里面.
那现在我们来完成这个界面
label计时:/label
input type="text" name="" id="timer"/
button onclick="pause(this)" id="pause" state="on"暂停/button
button onclick="restart()"重新开始/button
给标签元素一个ID是为了获取其中的标签, 然后加入了两个点击事件, 计数器的暂停, 和重新开始事件.
首先我们来完成开始计时的处理, 开始计时主要还是是用了setInterval的方法, 其中每隔1秒执行一次方法,
这样我们就可以对时间做处理, 就像开头所说60秒等于1分钟..., 所以这里就需要用判断来处理, 最后就将其中的得到的秒,分,时显示到输入框里.
var ele_timer = document.getElementById("timer");
var n_sec = 0; //秒
var n_min = 0; //分
var n_hour = 0; //时
//60秒 === 1分
//60分 === 1小时
function timer() {
return setInterval(function () {
var str_sec = n_sec;
var str_min = n_min;
var str_hour = n_hour;
if ( n_sec 10) {
str_sec = "0" + n_sec;
}
if ( n_min 10 ) {
str_min = "0" + n_min;
}
if ( n_hour 10 ) {
str_hour = "0" + n_hour;
}
var time = str_hour + ":" + str_min + ":" + str_sec;
ele_timer.value = time;
n_sec++;
if (n_sec 59){
n_sec = 0;
n_min++;
}
if (n_min 59) {
n_sec = 0;
n_hour++;
}
}, 1000);
}
var n_timer = timer();
我们用timer方法包装setInterval方法是为了,后面暂停和重新开始做处理.
用户点击了暂停, 计时器就停止计时, 用户继续点击这个按钮, 计时器继续计时. 所以这里有一个状态需要控制,这个状态我们给这个按钮一个属性.
//暂停和继续
function pause(self) {
var state = self.getAttribute("state");
if (state === "on") {
clearInterval(n_timer);
self.textContent = "继续";
self.setAttribute("state", "off");
} else {
n_timer = timer();
self.textContent = "暂停";
self.setAttribute("state", "on");
}
}
最后我们来看一下重新开始, 重新开始事件就更加简单了. 将计数器清0, 然后改变暂停按钮初始状态.
function restart() {
clearInterval(n_timer);
n_sec = 0;
n_min = 0;
n_hour = 0;
n_timer = timer();
var ele_pause = document.getElementById("pause");
ele_pause.textContent = "暂停";
ele_pause.setAttribute("state", "on");
}
这样就完成了计时的功能.效果如下