JS倒计时类

来源:互联网 发布:微信打赏视频破解软件 编辑:程序博客网 时间:2024/05/16 06:51
/** * 倒计时处理类 * @author alex */var countDown = function(userSetting) {    this.setting = {        time_remaining: 0,        count: function(formatTime) {            return;        },        after: function() {            return;        },        countStatus: null    };    var _setting = $.extend(this.setting, userSetting);    this.bind = function(object, func) {        return function() {            return func.apply(object, arguments);        }    };    var self = this;    this.default_time = _setting.time_remaining;    this.lock = false;    this.start = function() {        if (self.lock == true)            return;        else            self.progress();    };    this.end = function(){        self.lock = false;        clearTimeout(_setting.countStatus);        _setting.after();        _setting.time_remaining = self.default_time;    }    this.progress = function() {        var formatTime = format(_setting.time_remaining);        _setting.count(formatTime);        if (_setting.time_remaining == 0) {            self.lock = false;            clearTimeout(_setting.countStatus);            _setting.after();            _setting.time_remaining = self.default_time;        } else {            self.lock = true;            _setting.time_remaining -= 1;            _setting.countStatus = setTimeout(function() {                self.progress();            }, 1000);        }    };    function format(second) {        var days = 0;        var hours = 0;        var minutes = 0;        var seconds = 0;        days = Math.floor(second / (24 * 60 * 60));        second -= days * 24 * 60 * 60;        hours = Math.floor(second / (60 * 60));        second -= hours * 60 * 60;        minutes = Math.floor(second / (60));        second -= minutes * 60;        seconds = second;        return {            day: days,            hour: hours,            minute: minutes,            second: seconds        };    }};// 应用var app_time = new countDown({    time_remaining:59,// 设置倒计时时间    count:function(data){        // 每一秒倒计时执行的操作    },    after:function(){        // 倒计时完毕执行的操作,即为结束回调函数    }});var app_time_start = app_time.start;var app_time_end = app_time.end;app_time_start();// 开始倒计时app_time_end();// 强制结束倒计时
0 0
原创粉丝点击