js实现京东秒杀倒计时功能


Posted in Javascript onJanuary 21, 2019

本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下

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

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);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
js 操作select与option(示例讲解)
Dec 20 Javascript
jQuery实现的动态伸缩导航菜单实例
May 07 Javascript
JS访问SWF的函数用法实例
Jul 01 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
JS将网址url转化为JSON格式的方法
Jul 02 Javascript
JavaScript类型相关的常用操作总结
Feb 14 Javascript
VUE脚手架具体使用方法
May 20 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 #Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 #Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 #Javascript
js中对象和面向对象与Json介绍
Jan 21 #Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 #Javascript
JavaScript常用事件介绍
Jan 21 #Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 #Javascript
You might like
PHP版自动生成文章摘要
2008/07/23 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python实现LRU算法的2种方法
2015/06/24 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
25道Java面试题集合
2013/05/21 面试题
法学函授自我鉴定
2014/02/06 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
环境保护建议书
2014/08/26 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
门市房租房协议书
2014/12/04 职场文书
工程项目合作意向书
2015/05/08 职场文书
家长会开场白和结束语
2015/05/29 职场文书
《将心比心》教学反思
2016/02/23 职场文书
2019新员工心得体会
2019/06/25 职场文书
八年级作文之感恩
2019/11/22 职场文书
python 模块重载的五种方法
2021/04/24 Python
关于JavaScript轮播图的实现
2021/11/20 Javascript
Python requests用法和django后台处理详解
2022/03/19 Python
Python开发简易五子棋小游戏
2022/05/02 Python
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL