javascript код обратный отсчет сбрасывается при обновлении
Здравствуйте.
http://jsfiddle.net/SCyWG/62/ Тут код счетчика, от 19 до 1. Никак не могу разобраться, чтобы цифра не сбрасывалась у чел ( сохранялась) т. е для нового посетителя чтобы отчет начинался с начала(19-18...), а для старого продолжался с того момента как он ушел со страницы Дубль кода: var timer, num = 19, output = $('#mydiv'); function changeNum(){ output.text(num--); //каждый раз задержка будет на 100ms больше if(num >= 0) setTimeout(changeNum,500+(19-num)*100); } setTimeout(changeNum,500); --- <div id="mydiv"></div> .... Я в этом отсталый, поэтому буду очень благодарен за готовый скрипт под мои нужны. Спасибо |
http://jsfiddle.net/SCyWG/63/
<html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var timer, def=19, num = ('localStorage' in window)?(localStorage.getItem('timer-num')||def):def, output = $('#mydiv'); function changeNum(){ output.text(num--); if('localStorage' in window) localStorage.setItem('timer-num',num); //каждый раз задержка будет на 100ms больше if(num>=0) setTimeout(changeNum,500+(19-num)*100); }; setTimeout(changeNum,500); }); </script> </head> <body> <div id="mydiv"></div> </body> </html> |
Ура! Спасибо
|
А как сделать, чтобы через час сбрасывалось? чтобы через снова шло с 19 сек
|
http://jsfiddle.net/SCyWG/64/
<html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var timer, num = 19, output = $('#mydiv'), LS_allowed=('localStorage' in window); if(LS_allowed){ var save_time=parseInt(localStorage.getItem('timer-time'))||0; if(save_time+1*60*60*1000>=(new Date()).getTime()) num=localStorage.getItem('timer-num')||num; }; function changeNum(){ output.text(num--); if(LS_allowed){ localStorage.setItem('timer-num',num); localStorage.setItem('timer-time',(new Date()).getTime()); }; //каждый раз задержка будет на 100ms больше if(num>0) setTimeout(changeNum,500+(19-num)*100); }; setTimeout(changeNum,500); }); </script> </head> <body> <div id="mydiv"></div> </body> </html> |
Часовой пояс GMT +3, время: 18:38. |