javascript实现倒计时效果
winform中一般使用time控件来完成计时操作,在网页中的计时操作可以使用javascript
来完成,今天我用js写了一个倒计时实例,这个实例在页面上显示5,4,3,2,1后直接跳转
到网站的首页,希望对大家有帮助。
前台页面:
<p>将在 <span id="mes">5</span> 秒钟后返回首页!</p>
javascript代码如下:
<script language="javascript" type="text/javascript">
var i = 5;
var intervalid;
intervalid = setinterval("fun()", 1000);
function fun() {
if (i == 0) {
window.location.href = "default.aspx";
clearinterval(intervalid);
}
document.getelementbyid("mes").innerhtml = i;
i--;
}
</script>
这里使用的是date日期类
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>日期类倒计时</title>
<script type="text/javascript">
window.onload=function(){
var op=document.getelementbyid("time");
var obtn=document.getelementbyid("btn");
var omusic=document.getelementbyid("music");
obtn.onclick=function(){//按钮点击 音乐停止播放
omusic.pause();
}
function totwo(e){
return e<10?"0"+e:""+e;//如果取得的数字为个数则在其前面增添一个0
}
function go(){//把获取时间的功能封装到函数内 注意 时间要向下取整避免小数
var time1=new date();//获取当前时间 获取的市1970年1年1月日到现在的毫秒数(必须写在函数或者定时器内 每一次变化都要重新获取当前时间)
var time2=new date(2017,9,27,17,20,10);//设置需要到达的时间 也是获取的毫秒数
var cons=math.floor((time2.gettime()-time1.gettime())/1000);//获得差值除以1000转为秒
var day=totwo(math.floor(cons/86400));// 差值/60/60/24获取天数
var hour=totwo(math.floor(cons%86400/3600)); // 取余/60/60获取时(取余是获取cons对应位置的小数位)
var min=totwo(math.floor(cons%86400%3600/60));// 取余/60获取分
var s=totwo(math.floor(cons%60)); //取总秒数的余数
var html="倒计时"+day+"天"+hour+"时"+min+"分"+s+"秒";
op.innerhtml=html;//把字符串添加进p中
if(cons<0){//倒计时完成 执行功能,这里是播放mp3
clearinterval(time);//执行功能时要清除时间函数
omusic.play();
op.innerhtml="春节快乐!";
}
}
go();//调用函数
var time=setinterval(go,1000);//设置定时器 每一秒执行一次
}
</script>
</head>
<body>
<button id="btn">停止</button>
<audio src="music.mp3" id="music"></audio>
<p id="time"></p>
</body>
</html>
效果图:
以上就是javascript实例之如何实现时间倒计时?的详细内容。
