基于jQuery倒计时插件实现团购秒杀效果


Posted in Javascript onMay 13, 2016

倒计时一般是用来表示未来某一时刻距现在时刻还剩多少时间。倒计时在WEB上应用非常广泛,如考试系统倒计时,团购网站中的优惠活动倒计时等等。今天,我们来使用jQuery倒计时超级实现团购秒杀效果,感兴趣的朋友一起学习吧!

1.1 帮助文档关键字

倒计时 秒杀 timer

1.2. 使用场景

这样的倒计时在购物网站中会经常使用到,比如秒杀,限时抢购,确认收货倒计时。

这个功能并不难实现,就是利用js的定时执行,搜了一下网上的代码,五花八门,都是一个方法,没有做到封装,方便使用,所以写了一个插件,方便项目中使用。

1.4. 使用说明

开始使用

1、 引入oao.timer.js

2、 要显示倒计时时间的div

 <div id="timer1" end-date="2016-1-1"></div>


<div id="timer2" end-date="2015/10/1 12:5:2"></div>Code:

3、 初始化倒计时

 $(function(){//文档加载完初始化倒计时




 $("#timer1").oaoTime();




 $("#timer2").oaoTime();



})

这样就可以使用了,很简单,这样便于项目开发中统一使用,统一修改。

1.5. 上代码

//倒计时的插件
$.fn.extend({
oaoTime:function(){
this.each(function() { 


var dateStr = $(this).attr("end-date");



var endDate = new Date(dateStr.replace(/-/g,"/"));//取得指定时间的总毫秒数 



//now是在动态页面中取得服务器的时间,如果没有定义使用客户端时间



if(now==undefined){




now = new Date().getTime();



}



var tms = endDate - now;//得到时间差



if(tms<0){alert("时间过期了");return;}
$.oaoTime.timers.push({tms:tms,content:$(this)});
$.oaoTime.start();
});
}
});
//倒计时的插件
$.oaoTime={
//倒计时容器,所有需要倒计时的时间都需要注册到这个容器中,容器中放的是一个object,object描述了倒计时的结束时间,以及显示时间的jquery对象(例如div)
timers:[],
//全局的一个倒计时状态,init表示初始化状态,start表示运行中状态,stop表示停止状态
status:'init',
//计算时间并定时刷新时间的方法,本插件的核心代码
takeCount:function(){
//如果定时器没有启动不执行
if(this.status != 'start')return;
setTimeout("$.oaoTime.takeCount()", 1000 );
var timers = this.timers;
for (var i = 0, j = timers.length; i < j; i++) {
//计数减一
timers[i].tms -= 1000;
//console.info(timers[i].tms);
//计算时分秒
var days = Math.floor(timers[i].tms / (1000 * 60 * 60 * 24));
var hours = Math.floor(timers[i].tms / (1000 * 60 * 60)) % 24;
var minutes = Math.floor(timers[i].tms / (1000 * 60)) % 60;
var seconds = Math.floor(timers[i].tms / 1000) % 60;
if (days < 0)days = 0;
if (hours < 0)hours = 0;
if (minutes < 0)minutes = 0;
if (seconds < 0) seconds = 0;
var newTimeText = days+"天"+hours+"小时"+minutes+"分"+seconds+"秒";
timers[i].content.text(newTimeText);
//console.info(newTimeText);
}
},
//启动倒计时
start:function(){
if(this.status=='init'){
this.status = 'start';
this.takeCount();
}
},
//停止倒计时
stop:function(){
this.status = 'stop';
}
}; 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/oao.timer.js"></script>
</head>
<body>
<ul>
<div id="stop">停止</div>
<div id="timer1" end-date="2016-1-1"></div>
<div id="timer2" end-date="2015/10/1 12:5:2"></div>
</ul>
</body>
</html>
<script>
$(function(){
$("#stop").click(function() {
$.oaoTime.stop();
});
$("#timer1").oaoTime();
$("#timer2").oaoTime();
})
</script>

以上内容是小编给大家介绍的基于jQuery倒计时插件实现团购秒杀效果,希望对大家有所帮助!

Javascript 相关文章推荐
学习ExtJS form布局
Oct 08 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
jquery删除提示框弹出是否删除对话框
Jan 07 Javascript
javascript入门教程基础篇
Nov 16 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
jQuery过滤选择器用法示例
Sep 12 Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
Aug 28 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
May 13 #Javascript
最简单的tab切换实例代码
May 13 #Javascript
浅析创建javascript对象的方法
May 13 #Javascript
全面理解JavaScript中的闭包
May 12 #Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
May 12 #Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 #Javascript
js自定义select下拉框美化特效
May 12 #Javascript
You might like
关于PHP的curl开启问题探讨
2014/04/08 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
jQuery 使用手册(一)
2009/09/23 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
使用Python写个小监控
2016/01/27 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
简单了解python代码优化小技巧
2019/07/08 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
新护士岗前培训制度
2014/02/02 职场文书
小学母亲节活动方案
2014/03/14 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
2016新年致辞
2015/08/01 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle