基于jQuery的倒计时实现代码


Posted in Javascript onMay 30, 2012

在线演示:http://demo.3water.com/js/2012/mydaojishi/
打包下载:mydaojishi_3water
核心代码:

$(function(){ 
var tYear = ""; //输入的年份 
var tMonth = ""; //输入的月份 
var tDate = ""; //输入的日期 
var iRemain = ""; //开始和结束之间相差的毫秒数 
var sDate = ""; //倒计的天数 
var sHour = ""; //倒计时的小时 
var sMin = ""; //倒计时的分钟 
var sSec = ""; //倒计时的秒数 
var sMsec = ""; //毫秒数 
//通用工具函数,在个位数上加零,根据传的N的参数,来设前面加几个零 
function setDig(num,n){ 
var str = ""+num; 
while(str.length<n){ 
str="0"+str 
} 
return str; 
} 
//获得相差的天,小时,分钟,秒 
function getdate(){ 
//创建开始时间和结束时间的日期对象 
var oStartDate = new Date(); 
var oEndDate = new Date(); 
//获取文本框的值 
tYear = $("#tyear").val(); 
tMonth = $("#tmonth").val(); 
tDate = $("#tdate").val(); 
//设置结束时间 
oEndDate.setFullYear(parseInt(tYear)); 
oEndDate.setMonth(parseInt(tMonth)-1); 
oEndDate.setDate(parseInt(tDate)); 
oEndDate.setHours(0); 
oEndDate.setMinutes(0); 
oEndDate.setSeconds(0); 
//求出开始和结束时间的秒数(除以1000) 
iRemain = (oEndDate.getTime() - oStartDate.getTime())/1000; 
//总的秒数除以一天的秒数,再取出整数部分,就得出有多少天。 
sDate = setDig(parseInt(iRemain/(60*60*24)),3); 
//总的秒数除以一天的秒数,然后取其中的余数,就是把整数天扣除之后,剩下的总秒数。 
iRemain %= 60*60*24; 
//剩下的总秒数除以一个小时的秒数,再取整数部分,就是有多少小时。 
sHour = setDig(parseInt(iRemain/(60*60)),2) 
//剩下的总秒数除以一个小时的秒数,再取其余数,这个余数,就是扣除小时这后,剩下的总秒数。 
iRemain %= 60*60; 
//剩下的总秒数除以一分钟的秒数,再取其整数部分,就是有多少分钟。 
sMin = setDig(parseInt(iRemain/60),2) 
//剩下的总秒数除以一分钟的秒数,再取其余数,这个余数,就是扣除分钟之后,剩下的总秒数。 
iRemain%=60; 
//剩下的秒数 
sSec = setDig(iRemain,2); 
//毫秒数 
sMsec = sSec*100; 
} 
//更改显示的时间 
function updateShow(){ 
$(".showdate span").text(tYear+"-"+tMonth+"-"+tDate); 
$(".count span").each(function(index, element) { 
if(index==0){ 
$(this).text(sDate); 
}else if(index==1){ 
$(this).text(sHour); 
}else if(index == 2){ 
$(this).text(sMin); 
}else if(index == 3){ 
$(this).text(sSec); 
}else if(index == 4){ 
$(this).text(sMsec); 
} 
}); 
} 
//每一秒执行一次时间更新 
function autoTime(){ 
getdate(); 
//如果小于零,清除调用自己,并且返回 
if(iRemain<0){ 
clearTimeout(setT); 
return; 
} 
updateShow(); 
var setT = setTimeout(autoTime,1000); 
} 
//点击按钮开始计时 
$("button").click(function(){ 
autoTime(); 
}) 
})

记录需要注意的地方:

1.取模运算:

iRemain %= 60*60*24;
就是返回余数,在这个实例中的余数,就是把整数拿走后,剩下的秒数。

2.工具函数 setDig(num,n)

可以根据传入的参数,自动在传入的数字前加零

Javascript 相关文章推荐
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
Aug 29 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
解决JS无法调用Controller问题的方法
Dec 31 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
JavaScript触发onScroll事件的函数节流详解
Dec 14 Javascript
jquery实现轮播图效果
Feb 13 Javascript
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
JS实现提示框跟随鼠标移动
Aug 27 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
React四级菜单的实现
Apr 08 Javascript
基于jquery的放大镜效果
May 30 #Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 #Javascript
Javascript的常规数组和关联数组对比小结
May 24 #Javascript
基于mootools插件实现遮罩层新手引导
May 24 #Javascript
jQuery 拖动层(在可视区域范围内)
May 24 #Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 #Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 #Javascript
You might like
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
jQuery each()方法的使用方法
2010/03/18 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
js实现3D旋转相册
2020/08/02 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
基于python实现KNN分类算法
2020/04/23 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
什么是抽象
2015/12/13 面试题
师范生自荐信范文
2013/10/06 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
《狼》教学反思
2014/03/02 职场文书
工伤私了协议书范本
2014/11/24 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
公司辞职信模板
2015/05/13 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle