js制作倒计时

需求

最近由于页面需要,做一个倒计时的功能,具体意思就是当前时间到指定时间之间的时间段以倒计时的方式展示

展示效果

效果图

涉及方法

  1.  getTime();
  2. innerHTML;
  3.  Math.floor();
  4. setTimeout(函数,time);

代码


 
 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JS倒计时 </title>
  6. </head>
  7. <body>
  8. <div id="remainDays"> </div>
  9. <script type="text/javascript" >
  10. window.οnlοad=countdown;
  11. function countdown(){
  12. //获取客户端时间
  13. var today= new Date();
  14. //获取服务器当前时间 var today=new Date($.ajax({type:"HEAD",async:false,cache:false}).getResponseHeader("Date"));
  15. //当前距离1970年的毫秒数
  16. var oldTime = today.getTime();
  17. //设置截止时间,比如此时设置的是2099/1/1/00:00:00,此处可做修改
  18. var newDate = new Date( 2099, 0, 1, 0, 0, 0);
  19. //截止时间距离1970年的毫秒数
  20. var newTime = newDate.getTime();
  21. //截止时间距离现在的秒数
  22. var second = Math.floor((newTime - oldTime) / 1000);
  23. //设置remainSecond的目的是:如果倒计时结束该执行的方法或事件
  24. var remainSecond = second;
  25. //86400代表的是天;一天有24*60*60=86400秒 ;
  26. var day = Math.floor(second / 86400);
  27. second %= 86400; //余数代表剩下的秒数;
  28. var hour = Math.floor(second / 3600); //3600代表小时;
  29. second %= 3600; //余数代表 剩下的秒数;
  30. var minute = Math.floor(second / 60);
  31. second %= 60;
  32. var str = formatType(day) + '<span class="time">天</span>'
  33. + formatType(hour) + '<span class="time">小时</span>'
  34. + formatType(minute) + '<span class="time">分钟</span>'
  35. + formatType(second) + '<span class="time">秒</span>';
  36. if(remainSecond > 0){
  37. document.getElementById( "remainDays").innerHTML=( "倒计时:<font color=red>"+str+ "</font>");
  38. } else{
  39. //设置你的事件或者函数
  40. }
  41. //500的目的是防止漏掉执行
  42. setTimeout(countdown, 500);
  43. }
  44. //设置显示格式,小于10的填0
  45. function formatType(n) {
  46. return n >= 0 && n < 10 ? '0' + n : '' + n;
  47. }
  48. </script>
  49. </body>
  50. </html>

在线运行效果请点此处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值