基于jQuery的倒计时插件代码
2023-06-13 09:14:28 时间
剩余时间:1小时:40分:30秒
复制代码代码如下:
1/*
*倒计时插件,主要用来限时购买
*Bywayshan版本1.0
*使用方法:
*$(function(){
*$("#ElementId").countdown({
*Edate:"2012-12-2115:14:23"
*});
*})
*/
;(function($){
$.fn.countdown=function(options){
if(this.length==0){
returnfalse;
}
returnthis.each(function(){
varDefault={
Sdate:null,//开始时间(格式为“2010-10-1010:10:10”)可以设置为服务端的时间
Edate:null,//结束日期(格式为“2010-10-1010:10:10”)
callback:function(){
returnfalse;
}
},
_H_Text="小时",
_M_Text="分",
_S_Text="秒",
_lT=null,
_cT=newDate(),
_eT=null,
_elT=null,
ctime=null,
etime=null,
DomId=null,
_timeout=null,
_gt=function(){
if(_lT==null){
_elT=(etime-ctime);
if(_elT<0){
$("#"+DomId).html("<strong>0</strong>"+_H_Text+":<strong>0</strong>"+
_M_Text+":<strong>0</strong>"+_S_Text);
}
var_xT=Math.ceil(_elT/(24*60*60*1000));
_cT=parseInt(_cT.match(/\s(\d+)\D/)[1]*3600)
+parseInt(_cT.split(":")[1]*60)+parseInt(_cT.split(":")[2]);
_eT=_xT*24*3600+parseInt(_eT.match(/\s(\d+)\D/)[1]*3600)
+parseInt(_eT.split(":")[1]*60)+parseInt(_eT.split(":")[2]);
_lT=_elT/1000;
}
if(_elT>0){
if(_lT>=0){
var_H=Math.floor(_lT/3600);
var_M=Math.floor((_lT-_H*3600)/60);
var_S=(_lT-_H*3600)%60;
$("#"+DomId).html("<strong>"+_H+"</strong>"+_H_Text+":<strong>"
+_M+"</strong>"+_M_Text+":<strong>"+_S+"</strong>"+_S_Text);
_lT--;
}else{
clearInterval(_timeout);
if(s.callback&&$.isFunction(s.callback)){
s.callback.call(this);
}
}
}else{
clearInterval(_timeout);
if(s.callback&&$.isFunction(s.callback)){
s.callback.call(this);
}
}
},
strDateTime=function(str){
//判断日期时间的输入是否正确,类型必须形如为:2011-01-0101:01:01
varreg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
varr=str.match(reg);
if(r==null)returnfalse;
vard=newDate(r[1],r[3]-1,r[4],r[5],r[6],r[7]);
return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]
&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
vars=$.extend({},Default,options||{});
DomId=this.id;
if(DomId=="null"){
return;
}
_eT=s.Edate;
if(!strDateTime(_eT)){
alert("结束日期格式不正确");
returnfalse;
}
if(s.Sdate!=null){
_cT=s.Sdate;
}
_cT=_cT.toString();
cdate=_cT.replace(/-/g,"/");
_eT=_eT.toString();
edate=_eT.replace(/-/g,"/");
ctime=newDate(cdate);
etime=newDate(edate);
_timeout=setInterval(_gt,1000)
});
}
})(jQuery);
相关文章
- jquery插件treetable 动态加载问题
- 使用 jQuery 插件 CitySelect 实现省市联动效果
- jQuery 绘图插件:jqPlot
- jQuery可调整表和列宽插件-colResizable详解编程语言
- jQuery图片切换插件jquery.cycle.js详解编程语言
- jQuery开发者都需要知道的5个小技巧
- jquery插件实现图片延迟加载效果代码
- 基于Jquery的简单&简陋Tabs插件代码
- JQuery插件模板制作jquery插件的朋友可以参考下
- 基于jQuery的Tab选项框效果代码(插件)
- jquery中实现简单的tabs插件功能的代码
- jQuery创建插件的代码分析
- 利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
- 基于jQuery的弹出框插件
- jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
- jQuery关于导航条背景切换效果实现示例
- jquery滚动条插件jScrollPane的使用介绍
- 用jquery中插件dialog实现弹框效果实例代码
- jquery操作cookie插件分享
- 把jQuery的类、插件封装成seajs的模块的方法
- jQuery瀑布流插件Wookmark使用实例
- jquery新的绑定事件机制on方法的使用方法
- jQuery实现的多选框多级联动插件
- 使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
- 13款最热门的jQuery图像360度旋转插件推荐
- 分享20个提升网站界面体验的jQuery插件
- 详谈jQuery操纵DOM元素属性attr()和removeAtrr()方法
- 无限树Jquery插件zTree的常用功能特性总结