网上找了很多倒计时的插件,感觉代码有点冗余。也有比较好的插件,但是同时一个页面出现多个倒计时的时候就比较麻烦,这里自己写一个简单的倒计时
(注意:js的settimeout、setinterval方法做的倒计时,时间久了就会有误差。解决方法是设置几分钟后独自刷新按钮)
方式解决办法:意思大概就是设置每隔多少分钟后在重新请求一下后台接口,从某一个时间点在开始倒计时(本人没测试过)
setInterval(function () { document.title=++num; run(); },5000); run(); function run() { //解压后,将代码放进去 }

https://www.jb51.net/article/83071.htm
网上别人写的,可以参考:
function TimeDown(id, endDateStr) { //结束时间 var endDate = new Date(endDateStr); //当前时间 var nowDate = new Date(); //相差的总秒数 var totalSeconds = parseInt((endDate - nowDate) / 1000); //天数 var days = Math.floor(totalSeconds / (60 * 60 * 24)); //取模(余数) var modulo = totalSeconds % (60 * 60 * 24); //小时数 var hours = Math.floor(modulo / (60 * 60)); modulo = modulo % (60 * 60); //分钟 var minutes = Math.floor(modulo / 60); //秒 var seconds = modulo % 60; //输出到页面 document.getElementById(id).innerHTML = "还剩:" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"; //延迟一秒执行自己 setTimeout(function () { TimeDown(id, endDateStr); }, 1000) }
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>时间倒计时</title> <script src="TimeDown.js"></script> </head> <body> <form id="form1" runat="server"> <div id="show"> </div> <script type="text/javascript"> TimeDown("show", "2013-11-25 8:00:45"); </script> </form> </body> </html>