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 相关文章推荐
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
Feb 03 Javascript
jquery remove方法应用详解
Nov 22 Javascript
中止javascript执行的方法
Feb 14 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
vue使用showdown并实现代码区域高亮的示例代码
Oct 17 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 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
第七节 类的静态成员 [7]
2006/10/09 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
python高级特性简介
2020/08/13 Python
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
商务会议邀请函
2014/01/09 职场文书
幼儿教师培训感言
2014/03/08 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
Python日志模块logging用法
2022/06/05 Python
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技