基于jQuery的倒计时实现代码

所属分类: 网络编程 / JavaScript 阅读数: 713
收藏 0 赞 0 分享
在线演示:http://demo.jb51.net/js/2012/mydaojishi/
打包下载:mydaojishi_jb51
核心代码:
复制代码 代码如下:

$(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 this关键字指向常用情况解析

这篇文章主要介绍了JavaScript this关键字指向常用情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue-cli打包后如何本地查看的操作

这篇文章主要介绍了Vue-cli打包后如何本地查看的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue cli 3.0通用打包配置代码,不分一二级目录

这篇文章主要介绍了vue cli 3.0通用打包配置代码,不分一二级目录,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript事件循环及宏任务微任务原理解析

这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于vue-cli3打包代码后白屏的解决方案

这篇文章主要介绍了关于vue-cli3打包代码后白屏的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue打包静态资源后显示空白及static文件路径报错的解决

这篇文章主要介绍了vue打包静态资源后显示空白及static文件路径报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue-cli3访问public文件夹静态资源报错的解决方式

这篇文章主要介绍了vue-cli3访问public文件夹静态资源报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS继承实现方法及优缺点详解

这篇文章主要介绍了JS继承实现方法及优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vue或react项目生产环境去掉console.log的操作

这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多