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 相关文章推荐
Javascript表格翻页效果实现思路及代码
Aug 23 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
使用RequireJS优化JavaScript引用代码的方法
Jul 01 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
详解React-Todos入门例子
Nov 08 Javascript
100行代码理解和分析vue2.0响应式架构
Mar 09 Javascript
JavaScript闭包和回调详解
Aug 09 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
Jun 12 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 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 is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
Views rows style模板重写代码
2011/05/16 PHP
php随机显示图片的简单示例
2014/02/15 PHP
php反射应用示例
2014/02/25 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
微信小程序自定义组件
2017/08/16 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python多线程用法实例详解
2015/01/15 Python
Python检测网络延迟的代码
2018/05/15 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python中GIL的使用详解
2018/10/03 Python
django 自定义过滤器的实现
2019/02/26 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
python为什么要安装到c盘
2020/07/20 Python
校园十佳歌手策划书
2014/01/22 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
2014中考励志标语
2014/06/05 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
孝女彩金观后感
2015/06/10 职场文书
导游词之无锡唐城
2019/12/12 职场文书