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 小练习(实例代码)
Aug 07 Javascript
jQuery图片预加载 等比缩放实现代码
Oct 04 Javascript
jquery中对于批量deferred的处理方法
Jan 22 Javascript
javascript的函数作用域
Nov 12 Javascript
js验证上传图片的方法
May 12 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
Angular2 (RC4) 路由与导航详解
Sep 21 Javascript
jQuery ajax实现省市县三级联动
Mar 07 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
详解node.js 下载图片的 2 种方式
Mar 02 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 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/05/09 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
基于php split()函数的用法详解
2013/06/05 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
Python random模块的使用示例
2020/10/10 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
体育教师工作总结的自我评价
2013/10/10 职场文书
表彰大会主持词
2014/03/26 职场文书
《广玉兰》教学反思
2014/04/14 职场文书