定时器

当前版本:V1 最近更新:2015-10-19 组件作者:signhuang

 

组件说明

在指定时间内设置开始执行的函数及结束的函数,可配合其他组件使用

更新日志

  • 2015/10/19 发布

非milo版本组件使用

JS调用

http://ossweb-img.qq.com/images/js/comm/timer.min.js

简单应用

timer.set({
    begin: "2015/10/14 18:20:30",	//开始时间(可选,默认为当前时间)
    end: "2015/10/26 11:20:00",		//结束时间(必须,默认为当前时间)
    begin_func: showVideo,          //开始执行的函数
    end_func: showDialog.hide       //结束执行的函数
});

DEMO演示,配合弹框组件使用

demo

未压缩版拷贝代码

(function(timer, win){
    win[timer] = {}

    var now,begin,end,bf,ef,t,ac;

    var checkTime = function() {
        now += 1000;
        switch(true) {
            case now > end:
                clearInterval(t);
                ef();
            break;
            case now > begin && !ac:
                ac = true;
                bf();
            break;
        }
    }

    var set = function(cfg) {
        now = new Date().getTime();
        begin = new Date(cfg.begin).getTime() || now;
        end = new Date(cfg.end).getTime() || now;

        bf = cfg.begin_func || function(){};
        ef = cfg.end_func || function(){};

        ac = false;

        // 不受alert等因素影响
        t = setInterval(checkTime, 1000);

        // 简易版
        /*
        bf();
        setTimeout(ef, end - now);
        */
    }

    win[timer].set = set;
})('timer', window);