原生JS实现简单的倒计时功能示例

时间:2021-05-25

本文实例讲述了原生JS实现简单的倒计时功能。分享给大家供大家参考,具体如下:

1、第一种

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>www.jb51.net JS倒计时</title></head><body><div id="div"></div><script type="text/javascript">window.onload=clock;function clock(){var today=new Date(),//当前时间 h=today.getHours(), m=today.getMinutes(), s=today.getSeconds(); var stopTime=new Date("Feb 9 2019 00:00:00"),//结束时间 stopH=stopTime.getHours(), stopM=stopTime.getMinutes(), stopS=stopTime.getSeconds(); var shenyu=stopTime.getTime()-today.getTime(),//倒计时毫秒数 shengyuD=parseInt(shenyu/(60*60*24*1000)),//转换为天 D=parseInt(shenyu)-parseInt(shengyuD*60*60*24*1000),//除去天的毫秒数 shengyuH=parseInt(D/(60*60*1000)),//除去天的毫秒数转换成小时 H=D-shengyuH*60*60*1000,//除去天、小时的毫秒数 shengyuM=parseInt(H/(60*1000)),//除去天的毫秒数转换成分钟 M=H-shengyuM*60*1000;//除去天、小时、分的毫秒数 S=parseInt((shenyu-shengyuD*60*60*24*1000-shengyuH*60*60*1000-shengyuM*60*1000)/1000)//除去天、小时、分的毫秒数转化为秒 document.getElementById("div").innerHTML=(shengyuD+"天"+shengyuH+"小时"+shengyuM+"分"+S+"秒"+"<br>"); // setTimeout("clock()",500); setTimeout(clock,500);}</script></body></html>

运行效果:

2、第二种

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>www.jb51.net js倒计时</title> <style> *{ margin: 0; padding:0; } p { font-size: 80px; text-align: center; } p span { color: red; } p span.time { color: black } body{padding-top:200px;} </style></head><body><p>距离2019年还有</p><p><span></span></p><script> var oSpan = document.getElementsByTagName('span')[0]; function tow(n) { return n >= 0 && n < 10 ? '0' + n : '' + n; } function getDate() { var oDate = new Date();//获取日期对象 var oldTime = oDate.getTime();//现在距离1970年的毫秒数 var newDate = new Date('2019/1/1 00:00:00'); var newTime = newDate.getTime();//2019年距离1970年的毫秒数 var second = Math.floor((newTime - oldTime) / 1000);//未来时间距离现在的秒数 var day = Math.floor(second / 86400);//整数部分代表的是天;一天有24*60*60=86400秒 ; second = second % 86400;//余数代表剩下的秒数; var hour = Math.floor(second / 3600);//整数部分代表小时; second %= 3600; //余数代表 剩下的秒数; var minute = Math.floor(second / 60); second %= 60; var str = tow(day) + '<span class="time">天</span>' + tow(hour) + '<span class="time">小时</span>' + tow(minute) + '<span class="time">分钟</span>' + tow(second) + '<span class="time">秒</span>'; oSpan.innerHTML = str; } getDate(); setInterval(getDate, 1000);</script></body></html>

运行效果:

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,即可得到上述运行结果。

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线秒表工具:
http://tools.jb51.net/bianmin/miaobiao

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于JavaScript相关内容还可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章