JavaScript站点 - 倒数计时器

时间:2014-11-04 16:48:21

标签: javascript jquery timer countdowntimer

我希望创建一个启动倒数计时器的计时器。代码工作正常,直到您更改页面。当计时器通过循环并再次启动计时器时。

理想情况下,无论整个域上的页面如何,我都希望计时器倒计时。

另外,如果单击$ sessionDecline,我想调用10分钟的计时器,否则$ sessionAccept返回主页,计数器为5分钟。

var SessionTime     = 2000,
    tickDuration    = 1000,
    $sessionAccept  = $('#session--accept'),
    $sessionDecline = $('#session--decline');

if ( Modernizr.localstorage && lscache.get('sessionActive') === null ){

    var myInterval  = setInterval(function(){

            SessionTime = SessionTime - tickDuration

        }, 1000),

        myTimeOut   = setTimeout(SessionExpireEvent, SessionTime);

} else if ( Modernizr.localstorage && lscache.get('sessionActive') === true ){

    SessionTime = 6000;
    var myInterval  = setInterval(function(){

            SessionTime = SessionTime - tickDuration

        }, 1000),

        myTimeOut   = setTimeout(SessionExpireEvent, SessionTime);

}

function SessionExpireEvent() {
    clearInterval(myInterval);

    $('#timout--popup').addClass('is--loaded');

    $sessionAccept.click(function(){

        window.location.href = '/';

        lscache.set('sessionActive', true);

        $(this)
            .closest('.overlay__wrapper')
            .removeClass('is--loaded');
    });

    $sessionDecline.click(function(){
        lscache.set('sessionActive', false);

        $(this)
            .closest('.overlay__wrapper')
            .removeClass('is--loaded');
    });
}

我正在使用:

jQuery v1 / ls-cache / custom modernizr

1 个答案:

答案 0 :(得分:0)

提前抱歉没有提供编码示例。

我会弄清楚从现在开始的10或5分钟的日期/时间是什么,并将该值写入您可以在jQuery中执行的cookie $.cookie("test", 1);

然后计算从现在到目标值的毫秒数,并将超时设置为那么多毫秒。

在页面加载检查以查看您的cookie是否使用$.cookie("test");设置(如果已设置),然后使用该值设置超时,如果没有,则计算超时并设置cookie。

还要确保使用$.removeCookie("test");

销毁功能中的Cookie