基于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 相关文章推荐
菜单效果
Oct 14 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
jquery实现图片滚动效果的简单实例
Nov 23 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
node.js中的console.log方法使用说明
Dec 09 Javascript
jQuery中hover方法和toggle方法使用指南
Feb 27 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
如何提高数据访问速度
Dec 26 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
微信小程序实现日历签到
Sep 21 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执行速度全攻略
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python实现二维插值的三维显示
2018/12/17 Python
对python中UDP,socket的使用详解
2019/08/22 Python
基于python实现地址和经纬度转换
2020/05/19 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
演讲稿怎么写才完美
2014/01/02 职场文书
社团招新策划书
2014/02/04 职场文书
个人课题方案
2014/05/08 职场文书
委托书的写法
2014/09/16 职场文书
《去年的树》教学反思
2016/02/18 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python