扣丁学堂HTML5培训之JavaScript实现京东秒杀倒计时功能

2019-01-22 17:04:24 495浏览

今天扣丁学堂HTML5培训老师给大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下



首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行:

关于实现京东秒杀,之前用过其他的方法,今天给大家分享一个原生的方法吧,不会很难.

1、倒计时页面结构:

<div class="secondkill">
 <div class="top">
  <span class="red fl">掌上秒杀</span>
  <span class="num fl">0</span>
  <span class="num fl">5</span>
  <span class="colon fl">:</span>
  <span class="num fl">3</span>
  <span class="num fl">5</span>
  <span class="colon fl">:</span>
  <span class="num fl">3</span>
  <span class="num fl">0</span>
  <span class="more fr">更多</span>
</div>

2、css样式:这个是用css的编译器sass写的

.secondkill {
   .top {
     height: 40px;
     border-top: 3px solid $jdred;
     border-bottom: 1px solid #ccc;
     padding-top: 5px;
  
     .red {
       color: $jdred;
     }
  
     .num {
       background-color: #000;
       margin: 0px 3px;
       padding: 3px;
       color: white;
     }
   }

3、js部分:

//倒计时
     
//1. 指定倒计时的到期时间(2018-5-29 21:08:49)
//可以直接使用年月日时分秒来创建一个date对象,但是月是从0开始的
      var to = new Date(2018, 4, 29, 20, 20, 10);
  
      function antitime() {
        var now = new Date();
  
        //2. 拿到当前时间和过期时间之间的时间差(毫秒)
        var deltaTime = to - now; //到期时间和当前时间相差的毫秒数
         
        //如果超时了,就停止倒计时
        if (deltaTime <= 0) {
          //停止计时器
          window.clearInterval(timer);
          //停止执行下面的代码
          return;
        }
         
        //已知毫秒数,算出几分几秒几秒
        var m = Math.floor(deltaTime / (60*1000)); 
        //算出有多少秒
        var s = Math.floor(deltaTime / 1000 % 60);
        //算出多少毫秒, 毫秒数只显示10位和百位
        var ms = Math.floor(deltaTime % 1000 / 10); 
           
        //把时间的数字转成字符串, 如果分秒毫秒不足10, 则前面补0
        var timeStr = "" + (m<10?"0"+m:m) + (s<10?"0"+s:s) + (ms<10?"0"+ms:ms);
        console.log(timeStr);
  
        //063535
  
        //each是用来遍历.num元素, 其实你可以理解成循环
  
        $(".secondkill .num").each(function(index, span) {
          //console.log(span);
          $(span).html(timeStr.substring(index, index+1));
  
          //$(span), span默认是一个js对象,需要用$(span)变成一个jquery对象
          //$(span).html();这个方法是用来设置span里面的值的
          //timeStr.subSring();该方法是用来截取字符串 “abcdefg”
        });
      }
  
      //每十毫秒执行一次
      var timer = setInterval(antitime, 10);
    });

注意部分:

1、注意这个部分,时间要给定一个时间,比如京东上午十点秒杀结束,那这里时间就要填10点,注意月份是从0开始的,所以5月要写4月。这个时间如果过了这个倒计时就不会再执行了的,大家谨记。

var to = new Date(2018, 4, 29, 20, 20, 10);

2、这里拿到的是毫秒,在后面计算分秒毫秒的时候大家要注意换算。

//2. 拿到当前时间和过期时间之间的时间差(毫秒)
var deltaTime = to - now; //到期时间和当前时间相差的毫秒数

3、要判断,如果不足10就要给前面加一个0。

//把时间的数字转成字符串, 如果分秒毫秒不足10, 则前面补0
  var timeStr = "" + (m<10?"0"+m:m) + (s<10?"0"+s:s) + (ms<10?"0"+ms:ms);
  console.log(timeStr);

以上就是关于扣丁学堂HTML5培训之JavaScript实现京东秒杀倒计时功能的全部内容,希望对大家的学习有所帮助,最后扣丁学堂html5培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的html5视频教程供学员学习,扣丁学堂老师精心推出的html5视频直播课定能让你快速掌握html5从入门到精通开发实战技能。扣丁学堂H5技术交流群:673883249。



【关注微信公众号获取更多学习资料】


查看更多关于“HTML5开发技术资讯”的相关文章>>

标签: HTML5培训 HTML5视频教程 HTML5学习视频 HTML5在线视频 HTML5培训班

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号