码迷,mamicode.com
首页 > Web开发 > 详细

js 倒计时

时间:2015-06-08 16:26:41      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

 

技术分享

/**
 * 倒计时
 * 前提条件:在对象上需要自定义属性 data-now/data-end
 * 分别表示当前时间秒数以及结束时间秒数
 * 
 * demo1: 
 *  $(‘.countdown‘).each(function () {
 *      var my = $(this);
 *      countDown(my);
 *  });
 *
 * demo2: 
 *  $(‘.countdown‘).each(function () {
 *      var my = $(this);
 *      countDown(my, function () {
 *          console.log(1);
 *      });
 *  });
 */

function countDown (obj, func) {
    var nowTime = obj.data(‘now‘),
        endTime = obj.data(‘end‘),
        timerFn;

    var nD, nH, nM, nS, outStr, times;

    function dodo() {
        times = (endTime - nowTime) * 1000;            //时间差

        if (times > 0) {
            nD = Math.floor(times / (1000 * 60 * 60 * 24));
            nH = Math.floor(times / (1000 * 60 * 60)) % 24;
            nM = Math.floor(times / (1000 * 60)) % 60;
            nS = Math.floor(times / 1000) % 60;
            if (func) {
                outStr = func(nD, nH, nM, nS);
            } else {
                outStr = ‘<span class="icon_time"></span><span class="brand-days"><em>‘ + nD 
                        + ‘</em><i></i></span>‘ 
                        + ‘<span class="brand-hours"><em>‘ + nH + ‘</em><i></i></span>‘
                        + ‘<span class="brand-minutes"><em>‘ +nM + ‘</em><i></i></span>‘
                        + ‘<span class="brand-seconds"><em>‘ + nS + ‘</em><i></i></span>‘;
            }
        } else {
            clearInterval(timerFn);
        }
        obj.html(outStr);
        nowTime++;
    }

    dodo();
    timerFn = setInterval(dodo, 1000);
}

 

技术分享

 

js 倒计时

标签:

原文地址:http://www.cnblogs.com/baixc/p/4560865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!