Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

FlipClock с перезагрузкой страницы браузера

Вопрос: Как сделать чтобы отсчет был с определенного момента и при перезагрузки страницы браузера не сбрасывался, а продолжал отсчет?
Использую: 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(); //Запускаем отсчет


Комментариев нет:

Отправить комментарий