基于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 相关文章推荐
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
Jan 23 Javascript
js数组依据下标删除元素
Apr 14 Javascript
js获取页面description的方法
May 21 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
node文件批量重命名的方法示例
Oct 23 Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
js原生map实现的方法总结
Jan 19 Javascript
Node.js API详解之 module模块用法实例分析
May 13 Javascript
iview实现图片上传功能
Jun 29 Javascript
js+audio实现音乐播放器
Sep 13 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
缅甸的咖啡简史
2021/03/04 咖啡文化
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
php实现购物车功能(上)
2020/07/23 PHP
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
python实现堆栈与队列的方法
2015/01/15 Python
python绘图方法实例入门
2015/05/19 Python
python自动zip压缩目录的方法
2015/06/28 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
Python 字典中的所有方法及用法
2020/06/10 Python
python利用opencv保存、播放视频
2020/11/02 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
市场开发与营销专业求职信
2013/12/31 职场文书
初中英语教学反思
2014/01/25 职场文书
工作会议主持词
2014/03/17 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
财政局个人总结
2015/03/04 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书