【jquery】简单的倒计时效果

前天做了一个活动项目,其中有一块需要做倒计时的效果,由于需求比较简单,所以也就没用网上各种倒计时的插件。今天抽空整理出来,分享给大家。

html 代码如下:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8"/>
    <title>倒计时效果</title>
    <link rel="stylesheet" type="text/css" href="css/base.css" media="all"/>
    <style type="text/css">
    #countDown{font-size:48px;line-height:10;text-align:center;}
    </style>
</head>
<body>
    <div id="countDown"></div>
</body>
</html>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function countDown(years,months,days,hours,minutes){
    var dateFinal = new Date(years,months,days,hours,minutes);    //设置倒计时到达时间
    var dateNow = new Date();    //获取系统当前时间
    var dateSub = dateFinal - dateNow;    //计算差值,单位毫秒
    var day = hour = minute = second = dayBase = hourBase = minuteBase = secondBase = 0;    //初始化各个数值
    var timeHtml = '';
    timeHtml  = '距离'   years   ''   toDouble(months   1)   ''   toDouble(days)   ''   toDouble(hours)   ''   toDouble(minutes)   '分还剩下';
    dayBase = 24 * 60 * 60 * 1000;    //计算天数的基数,单位毫秒。1天等于24*60*60*1000毫秒
    hourBase = 60 * 60 * 1000;    //计算小时的基数,单位毫秒。1小时等于60*60*1000毫秒
    minuteBase = 60 * 1000;    //计算分钟的基数,单位毫秒。1分钟等于60*1000毫秒
    secondBase = 1000;    //计算秒钟的基数,单位毫秒。1秒钟等于1000毫秒
    day = Math.floor(dateSub / dayBase);    //计算天数,并取下限值。如 5.9天 = 5天
    hour = Math.floor(dateSub % dayBase / hourBase);    //计算小时,并取下限值。如 20.59小时 = 20小时
    minute = Math.floor(dateSub % dayBase % hourBase / minuteBase);    //计算分钟,并取下限值。如 20.59分钟 = 20分钟
    second = Math.floor(dateSub % dayBase % hourBase % minuteBase / secondBase);    //计算秒钟,并取下限值。如 20.59秒 = 20秒
    //当天数小于等于0时,就不用显示
    if(day <= 0){
        timeHtml  = toDouble(hour)   ''   toDouble(minute)   ''   toDouble(second)   '';
    }else{
        timeHtml  = day   ''   toDouble(hour)   ''   toDouble(minute)   ''   toDouble(second)   '';
    }
    $('#countDown').html(timeHtml);
}
//当小时,分钟和秒钟小于 10 的时候会显示为个位数,比较难看,需要在前面加 0。
function toDouble(num){
    if(num < 10){
        return '0'  num;
    }else{
        return ''   num;
    }
}
$(function(){
    setInterval(function(){
        countDown(2013,4,1,10,0);
    },1000);
});
</script>

PS:

1、以上是本人通过所学的 jquery 知识,随意写的一些效果。

2、在 javascript 中月份的编号是从 0 开始的,即 4 表示为 5 月份。

3、该效果是依据系统时间来计算的,并不是按照服务器时间来计算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值