倒计时效果有着广泛的应用,比如奥运会倒计时、高考倒计时和放假倒计时等,本章节分享一个比较美观且实用的倒计时效果。
代码实例如下:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>倒计时效果代码</title> <style type="text/css"> * { padding:0; margin:0; } .colockbox { width:250px; height:30px; overflow:hidden; color:#000000; background:url(mytest/jQuery/colockbg.png) no-repeat; margin:0px auto; } .colockbox span { float:left; display:block; width:40px; height:29px; line-height:29px; font-size:20px; font-weight:bold; text-align:center; color:#ffffff; margin-right:22px; } </style> <script type="text/javascript" src="http://www.softwhy.com/mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ countDown("2016/2/3 6:30:59","#colockbox1"); }); function countDown(time,id){ var day_elem=$(id).find('.day'); var hour_elem=$(id).find('.hour'); var minute_elem=$(id).find('.minute'); var second_elem=$(id).find('.second'); var end_time = new Date(time).getTime(); var sys_second = (end_time-new Date().getTime())/1000; var timer = setInterval(function(){ if(sys_second>1) { sys_second-=1; var day=Math.floor((sys_second/3600)/24); var hour=Math.floor((sys_second/3600)%24); var minute=Math.floor((sys_second/60)%60); var second=Math.floor(sys_second%60); $(day_elem).text(day); $(hour_elem).text(hour<10?"0"+hour:hour); $(minute_elem).text(minute<10?"0"+minute:minute); $(second_elem).text(second<10?"0"+second:second); } else { clearInterval(timer); } }, 1000); } </script> </head> <body> <div class="colockbox" id="colockbox1"> <span class="day">00</span> <span class="hour">00</span> <span class="minute">00</span> <span class="second">00</span> </div> </body> </html>
以上代码实现了我们的要求,可以实现秒到天的倒计时效果,下面就介绍一下实现过程。
一.实现原理:
原理比较简单,就是取得到期时间的时间戳减去当前时间的时间戳,就是两者之间相差的秒数,然后通过这个秒数除以3600就是相差的小时数,然后再除以24,然后使用Math.floor()函数进行下舍入,就是相差的天数,下面获取小时、分钟和秒都是此原理。使用定时器函数每隔一秒调用一次相应的函数就实现了倒计时的效果。
二.代码注释:
1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
2.countDown("2016/2/3 6:30:59","#colockbox1"),调用函数,第一个参数是到期的时间,第二个是div的id属性值。
3.function countDown(time,id){},声明此函数。
4.var day_elem=$(id).find('.day'),获取div下class属性值为day的对象。
5.var hour_elem=$(id).find('.hour'),获取div下class属性值为hour的对象。
6.var minute_elem=$(id).find('.minute'),获取div下class属性值为minute的对象。
7.var second_elem=$(id).find('.second'),获取div下class属性值为second的对象。
8.var end_time=new Date(time).getTime(),获取到期事件的时间戳。
9.var sys_second=(end_time-new Date().getTime())/1000,获取到期时间和当前时间相差的秒数。
10.var timer=setInterval(function(){},1000),每隔一秒执行一次函数。
11.if(sys_second>1) ,如果相差的秒大于1。
12.sys_second-=1,秒减一。
13.var day=Math.floor((sys_second/3600)/24),获取相差的天数。
14.var hour=Math.floor((sys_second/3600)%24),获取相差的小时数,注意后面是取模运算。
15.var minute=Math.floor((sys_second/60)%60),获取相差的分钟数。
16.var second=Math.floor(sys_second%60),获取相差的秒数。
17.$(day_elem).text(day),将天写入span元素。
18.$(hour_elem).text(hour<10?"0"+hour:hour),将小时写入span,如果小时数小于10,前面加0,后面同样的道理。
19.clearInterval(timer),如果相差的秒数到0,就停止计时器函数setInterval的执行。
以上内容是小编给大家分享的基于jQuery实现美观且实用的倒计时实例代码,希望本文分享能够给大家带来帮助。
本文向大家介绍基于JS实现的倒计时程序实例,包括了基于JS实现的倒计时程序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于JS实现的倒计时程序。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍jquery实现倒计时代码分享,包括了jquery实现倒计时代码分享的使用技巧和注意事项,需要的朋友参考一下 html部分 js部分
本文向大家介绍jQuery实现的倒计时效果实例小结,包括了jQuery实现的倒计时效果实例小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了jQuery实现的倒计时效果。分享给大家供大家参考,具体如下: 当我们在webservice里读取到数据库中的时间字段后,把时间分割判断。Javascript代码如下: 多个倒计时>>> 代码: 更多关于jQuery相关内容感兴趣的读者可查看本站专题
本文向大家介绍基于javascript实现的购物商城商品倒计时实例,包括了基于javascript实现的购物商城商品倒计时实例的使用技巧和注意事项,需要的朋友参考一下 话不多说,下面跟着小编一起来看下实例代码吧 Js: html: 最后输入你想要的结束时间 JS: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍js实现的倒计时按钮实例,包括了js实现的倒计时按钮实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现的倒计时按钮。分享给大家供大家参考。具体分析如下: 效果图如下: 具体代码如下: 这里只是一个小例子,在实际运用中,可能需要记录各种时间,考虑到页面刷新的变化,需要用cookie来进行数据存储等等! 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍基于vue、react实现倒计时效果,包括了基于vue、react实现倒计时效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了基于vue、react实现倒计时效果的具体代码,供大家参考,具体内容如下 Vue 方案一:俩个元素 HTML: JS: 方案二:一个元素,改变文字 HTML: JS: React 引用块内容 以上就是本文的全部内容,希望对大家的学习有所帮助,也