Я хочу создать таймер, который запускает таймер обратного отсчета. Код работает нормально, пока вы не измените страницу. Когда таймер проходит цикл и снова запускает таймер.
В идеале я хочу, чтобы таймер вел обратный отсчет независимо от страницы во всем домене.
Кроме того, если щелкнуть $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 / пользовательский модернизр