Спасибо за отклик.
Исчезла проблема повторного запуска таймера при многочисленных кликах по ссылке. Благодарю за подсказку.
Но проблема сброса таймера при полном обновлении страницы (F5) осталась.
Попробовал добавить запрет повторного перехода по ссылке, но, если обновить страницу, таймер становится в исходное положение.
Каким образом заставить таймер считать указанное время даже если страница полностью обновлена?
Вот код с запретом на повторный переход по ссылке:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="title">Start</div>
<a id="waiting" href="http://ya.ru/" target="_blank" onclick="eHide(15, true);" load="1">Click</a>
<script>
function eHide(sec, checkLocalStorage) {
if (checkLocalStorage && localStorage.getItem('eHideSec')) {
var savedSec = localStorage.getItem('eHideSec');
if (savedSec > 0) sec = savedSec;
}
var time = sec;
var hour = parseInt(time / 3600);
if (hour < 1) hour = 0;
time = parseInt(time - hour * 3600);
if (hour < 10) hour = '0' + hour;
var minutes = parseInt(time / 60);
if (minutes < 1) minutes = 0;
time = parseInt(time - minutes * 60);
if (minutes < 10) minutes = '0' + minutes;
var seconds = time;
if (seconds < 10) seconds = '0' + seconds;
document.getElementById("title").innerHTML = 'Wait ' + hour + ':' + minutes + ':' + seconds;
localStorage.setItem('eHideSec', sec);
sec--;
if (sec >= 0) {
window.setTimeout(function () {
eHide(sec);
}, 1000);
enabled = false;
} else {
document.getElementById("title").innerHTML = 'The End!';
}
}
$("#waiting").on("click", function() {
if($(this).attr("load") == 1) {
$(this).attr("load", "0");
}
else {
return false;
}
});
</script>
</body>
</html>