jquery实现的判断倒计时是否结束代码

 更新时间:2016年02月05日 08:55:07   作者:一落叶而知秋  
在一些购物网站经常会遇到倒计时的功能,例如某些商品在一定期限内搞活动,下面小编给大家分享一段代码关于jquery实现的判断倒计时是否结束代码,希望对大家有所帮助

本章节介绍一段代码实例,此代码能够判断当前日期是否已经倒计时结束,此代码中并没有倒计时效果,只是判断是否倒计时完成,比如购物网站优惠期限等,虽然实际应用中,很少会出现类似的代码,不过希望能够给浏览者带来一定的启示作用。

代码如下:

function done(){
var str=$('#end').text(); 
var out=str.match(/\d+/g);
console.log(out); 
var h=parseInt(out[0]),m=parseInt(out[1]),s=parseInt(out[2]); 
console.log(h+'#'+m+'#'+s);
var calc=h*3600+m*60+s;
console.log(calc); 
if(calc==0){
//code
} 
else{
console.log('等待..');
} 
var t=setTimeout('done()',1000);
} 
done(); 

上面只是代码片段,不能够演示,下面介绍一下它的实现过程。

一.代码注释:

1.function done(){},此函数实现判断倒计时结束效果。
2.var str=$('#end').text(),获取指定元素中的文本内容,本代码中应该倒计时当前时间.
3.var out=str.match(/\d+/g),获取时间日期中数字的数组。
4.var h=parseInt(out[0]),m=parseInt(out[1]),s=parseInt(out[2]),分别获取小时、分钟和秒。
5.var calc=h*3600+m*60+s,转换成秒。
6.if(calc==0){//code},判断倒计时是否结束,然后指定相应的操作。
7.var t=setTimeout('done()',1000),每隔一秒执行一次判断函数。
8.done(),执行此函数。

jquery实现倒计时代码如下所示:

$(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)  

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

相关文章

  • jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)

    jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)

    这篇文章主要介绍了jQuery实现鼠标跟随提示层效果代码,具备显示文本,Div,Table,Html等功能.涉及jQuery针对鼠标事件及页面元素的相关操作技巧,需要的朋友可以参考下
    2016-04-04
  • jQuery手指滑动轮播效果

    jQuery手指滑动轮播效果

    本文给大家分享一段jquery代码实现手指滑动轮播效果,代码简单易懂,非常不错,需要的朋友参考下
    2016-12-12
  • jQuery简单实现QQ空间点赞已经取消点赞

    jQuery简单实现QQ空间点赞已经取消点赞

    这篇文章主要介绍了jQuery简单实现QQ空间点赞已经取消点赞的代码,非常的好用,这里推荐给大家,有需要的小伙伴参考下。
    2015-04-04
  • jQuery图片查看插件Magnify开发详解

    jQuery图片查看插件Magnify开发详解

    本篇文章主要给大家讲述了jQuery图片查看插件Magnify开发的详细分析,需要的朋友参考学习下吧。
    2017-12-12
  • jQuery点击出现爱心特效

    jQuery点击出现爱心特效

    这篇文章主要为大家详细介绍了jQuery点击出现爱心特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • jquery Form轻松实现文件上传

    jquery Form轻松实现文件上传

    这篇文章主要介绍了jquery Form轻松实现文件上传的相关过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jQuery 加上最后自己的验证

    jQuery 加上最后自己的验证

    jQuery 加上最后自己的验证 这段代码可以添加自定义的 jquery验证,而不必单一的依靠在标签中写 validation="{}", 或者是代码方式写验证规则,那样都会在要验证的控件后面写出错误信息。
    2009-11-11
  • 原生和jQuery的ajax用法详解

    原生和jQuery的ajax用法详解

    Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。这篇文章主要介绍了原生和jQuery的ajax用法,需要的朋友参考下吧
    2017-01-01
  • jquery进行数组遍历如何跳出当前的each循环

    jquery进行数组遍历如何跳出当前的each循环

    通过 jquery 的循环方法进行数组遍历,但是当不符合条件时,怎么跳出当前循环,解决方法如下,需要的朋友可以参考下
    2014-06-06
  • jQuery使用before()和after()在元素前后添加内容的方法

    jQuery使用before()和after()在元素前后添加内容的方法

    这篇文章主要介绍了jQuery使用before()和after()在元素前后添加内容的方法,实例分析了jQuery中before()和after()方法添加内容的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03

最新评论