基于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 相关文章推荐
jQuery 验证插件 Web前端设计模式(asp.net)
Oct 17 Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
js自定义事件及事件交互原理概述(一)
Feb 01 Javascript
jQuery实现购物车数字加减效果
Mar 14 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
Aug 03 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
Aug 29 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
Jan 08 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
JS通过位运算实现权限加解密
Aug 14 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
javascript跳转与返回和刷新页面的实例代码
Nov 20 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
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
值得收藏的vuejs安装教程
2017/11/21 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
python实现划词翻译
2020/04/23 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
SQL中where和having的区别
2012/06/17 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
办公室主任职责范文
2013/11/08 职场文书
租车协议书范本
2014/04/22 职场文书
全国文明单位申报材料
2014/05/31 职场文书
三孔导游词
2015/02/05 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
涨价通知怎么写
2015/04/23 职场文书
十八大观后感
2015/06/12 职场文书
2016情人节宣传语
2015/07/14 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
2022年显卡天梯图(6月更新)
2022/06/17 数码科技
python 使用pandas读取csv文件的方法
2022/12/24 Python