Вопрос: Как сделать чтобы отсчет был с определенного момента и при перезагрузки страницы браузера не сбрасывался, а продолжал отсчет?
Использую: FlipClock
Код:
var clock;
clock = $('.clock').FlipClock({
//clockFace: 'DailyCounter',
autoStart: false, //Отключаем автозапуск
countdown: true, //Отсчет назад
language:'ru-ru', //Локаль языка
callbacks: {
stop: function() {
$('.message').html('The clock has stopped!')
}
},
});
clock.setTime(60); //Устанавливаем нужное время в секундах
clock.setCountdown(true); //Устанавливаем отсчет назад
clock.start(); //Запускаем отсчет
Ответ
Можно при первой загрузке устанавливать текущее время в куки или localStorage и проверять, если куки нет, то время 60, если есть, то 60 минус разница между текщим временем и временем в куках
var clock;
clock = $('.clock').FlipClock({
//clockFace: 'DailyCounter',
autoStart: false, //Отключаем автозапуск
countdown: true, //Отсчет назад
language:'ru-ru', //Локаль языка
callbacks: {
stop: function() {
$('.message').html('The clock has stopped!')
}
},
});
if(!$.cookie('time')){
$.cookie('time', new Date().getTime());
var time = 60;
}else{
var time = parseInt(60 - (new Date().getTime() - $.cookie('time'))/1000);
if(time < 0){
time = 0;
}
}
//или то же самое с localStorage
/*
if(!localStorage.getItem("time")){
localStorage.setItem('time', new Date().getTime());
var time = 60;
}else{
var time = parseInt(60 - (new Date().getTime() - localStorage.getItem("time"))/1000);
if(time < 0){
time = 0;
}
}
*/
clock.setTime(time); //Устанавливаем нужное время в секундах
clock.setCountdown(true); //Устанавливаем отсчет назад
clock.start(); //Запускаем отсчет
Комментариев нет:
Отправить комментарий