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 相关文章推荐
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
js一维数组、多维数组和对象的混合使用方法
Apr 03 Javascript
简洁实用的BootStrap jQuery手风琴插件
Aug 31 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
JavaScript实现移动端轮播效果
Jun 06 Javascript
浅谈express 中间件机制及实现原理
Aug 31 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
Sep 07 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
js原型链原理看图说明
2012/07/07 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
python基础教程之自定义函数介绍
2014/08/29 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
秘书岗位职责
2013/11/18 职场文书
毕业学生推荐信
2013/12/01 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
技校毕业生自荐书
2014/05/23 职场文书
2014年变电站工作总结
2014/12/19 职场文书
《西门豹》教学反思
2016/02/23 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL