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 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
javascript 星级评分效果(手写)
Dec 24 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
Vue.js2.0中的变化小结
Oct 24 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
微信小程序实现默认第一个选中变色效果
Jul 17 Javascript
微信小程序保存多张图片的实现方法
Mar 05 Javascript
vue+element实现动态加载表单
Dec 13 Vue.js
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速度全攻略
2006/10/09 PHP
PHP异步调用socket实现代码
2012/01/12 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
php析构函数的简单使用说明
2015/08/24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
Python 的 with 语句详解
2014/06/13 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python实现文件的分割与合并
2019/08/29 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
个人授权委托书模板
2014/09/14 职场文书
欢迎新生标语
2014/10/06 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Python合并pdf文件的工具
2021/07/01 Python
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android