jQuery实现的美观的倒计时实例代码

jQuery实现的美观的倒计时实例代码:
倒计时效果有着广泛的应用,比如奥运会倒计时、高考倒计时和放假倒计时等,本章节分享一个比较美观且实用的倒计时效果。
代码实例如下:

<!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的执行。
三.相关阅读:
1.find()函数可以参阅jQuery的find()方法一章节。
2.Date()构造函数可以参阅javascript中Date()构造函数参数介绍一章节。
3.getTime()函数可以参阅javascript的Date对象的getTime()方法一章节。
4.Math.floor()函数可以参阅javascript的Math.floor()方法一章节。
5.setInterval()函数可以参阅setInterval()函数用法详解一章节。
6.clearInterval()函数可以参阅window对象的clearInterval()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9086

更多内容可以参阅:http://www.softwhy.com/jquery/

时间: 2024-08-06 15:39:20

jQuery实现的美观的倒计时实例代码的相关文章

jquery实现的三级导航菜单实例代码

jquery实现的三级导航菜单实例代码:使用最多的可能是二级导航菜单,所以网上的代码一大堆,三级菜单的代码也很多,不过相对较少一些,本章节通过一个代码实例详细介绍一下三级导航菜单的实现过程,代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta nam

jQuery实现的div垂直水平居中实例代码

jQuery实现的div垂直水平居中实例代码:在窗口中有一个div元素,下面就介绍一下如何使用jQuery将其设置为水平垂直居中对齐,希望能够给需要的朋友带来一定的帮助.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&quo

jquery ajax jsonp跨域调用实例代码

今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp.WebForm1" %><!DOCTYPE html P

可以防止刷新重置的倒计时实例代码

可以防止刷新重置的倒计时实例代码:一般说来,除了我们明确设置一个到期时间日期,比如类似于2018-5-12这样,一般在刷新网页的时候都会使倒计时重新来过,下面就介绍一下可以防止这种情况的方式,希望能够给需要的朋友带来一定的帮助.实例代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=&quo

按钮倒计时可用效果实例代码

按钮倒计时可用效果实例代码:很多网页都有这样的效果,那就是按钮必须在指定的倒计时之后才是可用的,下面就通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title&

jQuery实现的手机发送验证码倒计时效果代码分享

这是一款基于jquery实现的手机发送验证码倒计时效果代码,可实现实时显示秒数倒计时的功能,还可实现对手机号码格式验证的功能,是一款常用的网站注册发送手机验证码特效代码. 效果描述:注册一个网站,当需要发送验证码到手机上的时候,我们经常碰到这样的效果:首先检测手机是否符合1开头,11位数字的格式:若不符合,则提示错误信息并返回false:否则提交给后台,后台确定接收后返回一个值,发送按钮变为灰色并倒计时. 运行效果: 年利率高达14.4% 上海投融理财,20万起投,年化收益14.4% 房产抵押,

使用jquery实现的清空表单元素代码实例

使用jquery实现的清空表单元素代码实例:如果表单的元素较多的话,如果想情况以前填写的内容可能有点耗费体力,不够人性化,下面就介绍一下如何利用jquery代码实现快捷清除表单元素内容的功能,先看一段代码实例: $('#theform')[0].reset(); 很朋友可能认为上面的代码就完全实现我们的要求,其实这是错误的,reset()函数是重置的意思,也就是将表单元素的值重置为默认值而不是清空,如下面的文本框: <input type="text" value="蚂

jQuery实现的删除指定子元素代码实例

jQuery实现的删除指定子元素代码实例:可能在实际应中可能要删除元素的指定子元素,下面就通过简单的代码实例进行一下介绍.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落

jquery的ajax实现的删除记录代码实例

jquery的ajax实现的删除记录代码实例:下面一段jquery实现的ajax代码实例,能够删除一条记录,并且会给出提示信息,代码如下:代码段一: /* 请求Ajax 带返回值,并弹出提示框提醒---------------------------*/ function getAjax(url,parm,callBack){ $.ajax({ type:'post', dataType:"text", url:url, data:parm, cache:false, async:fa