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 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
Javascript 错误处理的几种方法
Jun 13 Javascript
jquery cookie实现的简单换肤功能适合小网站
Aug 25 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
JavaScript中的定时器之Item23的合理使用
Oct 30 Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
Angular实现的进度条功能示例
Feb 18 Javascript
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
Vue 自定义指令实现一键 Copy功能
Sep 16 Javascript
Node.js Domain 模块实例详解
Mar 18 Javascript
浅谈JavaScript浅拷贝和深拷贝
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/22 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
创业计划书撰写原则
2014/01/25 职场文书
银行内勤岗位职责
2014/04/09 职场文书
项目合作协议书范本
2014/04/16 职场文书
青春无悔演讲稿
2014/05/08 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
最美家庭活动方案
2014/08/31 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
经费申请报告范文
2015/05/18 职场文书
在校学生证明格式
2015/06/24 职场文书
狂人日记读书笔记
2015/06/30 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
手把手教你导入Go语言第三方库
2021/08/04 Golang