Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2016, 14:18
Новичок на форуме
Отправить личное сообщение для interregional Посмотреть профиль Найти все сообщения от interregional
 
Регистрация: 04.04.2016
Сообщений: 1

Работа скрипта не должна теряться при переходе на другую страинцу
В общем есть такой код таймера
<body onLoad="getSecs()">
  <script language="javascript">
startdate = new Date();
clockStart = startdate.getTime();
function initStopwatch() {
  var thisTime = new Date();
  return (thisTime.getTime() - clockStart)/1000;
}
function getSecs() {
  var tSecs = Math.round(initStopwatch());
  var iSecs = tSecs % 60;
  var iMins = Math.round((tSecs-30)/60);
  var sSecs ="" + ((iSecs > 9) ? iSecs : "0" + iSecs);
  var sMins ="" + ((iMins > 9) ? iMins : "0" + iMins);
  document.getElementById("timer-counter").innerHTML = sMins+":"+sSecs;
  setTimeout('getSecs()', 1000);
}
</script>
Вы находитесь на сайте:
 <span id='timer-counter' style='color:black;font-size:20px;font-weight:bold;'></span>
</body>

Необходимо чтобы таймер не терял то что он насчитал при переходе на другую страницу и если была закрыта вкладка то таймер ставится на паузу пока пользователь сново её не откроет.
Как я понимаю это можно сделать через куки, но как? Таймер должен быть для каждого пользователя индивидуальным.
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2016, 16:09
Интересующийся
Отправить личное сообщение для fear111 Посмотреть профиль Найти все сообщения от fear111
 
Регистрация: 20.03.2016
Сообщений: 17

interregional,
Думаю, так проще. Сохранять секунды не вижу смысла, но если нужно, по примеру поймете как.
$(document).ready(function() {
  var tSecs = 0,
      tMins = localStorage.getItem("timer_mins") || 0;
  
  setInterval(function() {
    tSecs++;
    if (tSecs > 59) {
      tSecs = 0;
      tMins++;
      localStorage.setItem("timer_mins", tMins);
    }
    
    var sSecs = ((tSecs > 9) ? tSecs : "0" + tSecs),
        sMins = ((tMins > 9) ? tMins : "0" + tMins);    
    
    document.getElementById("timer-counter").innerHTML = sMins+":"+sSecs;
  }, 1000)
});

Последний раз редактировалось fear111, 04.04.2016 в 21:08.
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2016, 19:17
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,925

Сообщение от fear111
 tMins = ((localStorage.getItem("timer_mins") == null) ? 0 : localStorage.getItem("timer_mins"));
tMins = localStorage.getItem("timer_mins") || 0;

Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2016, 21:08
Интересующийся
Отправить личное сообщение для fear111 Посмотреть профиль Найти все сообщения от fear111
 
Регистрация: 20.03.2016
Сообщений: 17

Ruslan_xDD,
Спасибо, исправлю)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При переходе на другую страницу открытая секция аккордеона должна оставаться открытой duke8761 jQuery 5 06.03.2013 16:42
Выделение изображения (полностью или рамки) при переходе на страницу scpooch Элементы интерфейса 29 29.01.2013 17:35
Подружить два скрипта (скроллер+скрипт эффекта при наведении) Che jQuery 26 29.08.2012 10:59
Автозапуск скрипта при загрузке страницы HepoH Javascript под браузер 3 31.03.2012 22:27
Срабатывание скрипта в разные моменты при загрузки в разных браузерах VitalikPro Javascript под браузер 10 29.12.2011 17:24