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 动态添加事件代码
Nov 30 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
Nov 04 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
jQuery 无刷新分页实例代码
Nov 12 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
详解React 的几种条件渲染以及选择
Oct 23 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
vue elementUI使用tabs与导航栏联动
Jun 21 Javascript
Vue+Element-UI实现上传图片并压缩
Nov 26 Javascript
Vue+element+cookie记住密码功能的简单实现方法
Sep 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
我的论坛源代码(六)
2006/10/09 PHP
新手学PHP之数据库操作详解及乱码解决!
2007/01/02 PHP
javascript 小型动画组件与实现代码
2010/06/02 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
vue自定义树状结构图的实现方法
2020/10/18 Javascript
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
Python中Class类用法实例分析
2015/11/12 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python使用微信SDK实现的微信支付功能示例
2017/06/30 Python
vscode 远程调试python的方法
2017/12/01 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
基于pip install django失败时的解决方法
2018/06/12 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
美国钻石商店:Zales
2016/11/20 全球购物
室内拓展活动方案
2014/02/13 职场文书
经理任命书模板
2014/06/06 职场文书
社区活动策划方案
2014/08/21 职场文书