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 相关文章推荐
幻宇的层模拟窗口效果-提供演示和下载
Jan 20 Javascript
JavaScript的parseInt 进制问题
May 07 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
Nov 24 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 Javascript
jQuery实现预加载图片的方法
Mar 17 Javascript
深入理解JS DOM事件机制
Aug 06 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
如何将百度地图包装成Vue的组件的方法步骤
Feb 12 Javascript
JS中的模糊查询功能
Dec 08 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
Apr 30 Javascript
AngularJS实现多级下拉框
Mar 25 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
用ODBC的分页显示
2006/10/09 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
django初始化数据库的实例
2018/05/27 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
服装采购员岗位职责
2014/03/15 职场文书
高中教师评语大全
2014/04/25 职场文书
干部鉴定材料
2014/05/18 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
装修活动策划方案
2014/08/27 职场文书
2014年护理部工作总结
2014/11/14 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
HAM-2000摩机图
2021/04/22 无线电
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技