一个简单的倒计时js插件

接收的参数end是必须传的,格式是/分隔的日期字符串,start是可选的,不传就是从现在开始倒计时,callback也是可选的,到倒计时接收时执行自定义的函数。

countdown({
                'end':'2015/9/1 17:12:00',
                'callback':function () {
                    document.getElementById('countdown').innerHTML = 'the end!';
                }
            });
(function (){
    function countdown(config){
        var startDate = config.start ? new Date(config.start) : new Date();
        var endDate = new Date(config.end);
        var id = config.id || 'countdown';

        var time = (endDate - startDate)/1000;

        if(time < 0){
            if(config.callback){
                config.callback();
            }
            return;
        }

        var day = parseInt(time/86400, 10);
        var hour = parseInt(time%86400/60/60, 10);
        var minute = parseInt(time%86400%3600/60, 10);
        var second = parseInt(time%86400%3600%60, 10);

        setTimeout(function (){
            document.getElementById(id).innerHTML = day+' day '+hour+':'+minute+':'+second;
            countdown(config);
        }, 1000);
    }

    window.countdown = countdown;
})();

 

posted @ 2015-09-01 21:24  lily white  阅读(1640)  评论(0编辑  收藏  举报