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, время: 21:15. |