Всем привет. Я написал скрипт для сайта он берет параметр из тега p и каждый час вычитает по 1 и вставляет обратно, но при обновлении страницы счетчик начинается заново. Как это исправить? Заранее спасибо.
var updateTimer = function() {
var watch = document.getElementById('watch');
var count = Number(watch.innerHTML);
if(count == 0){
watch.innerHTML = count;
}
else{
watch.innerHTML = count -= 1;
}
};
setInterval(updateTimer, 1000);
<p><span id="watch">16</span></p>
Если нужно считать время до определённой даты, то можно воспользоваться объектом Date
.
var summerEnd = new Date(2018,8,1),//Конечная дата(месяцы начинаются с 0 , поэтому сентябрь - восьмой)
now = new Date(),//текущая дата
watch = document.getElementById('watch');
function updateTimer() {
now.setSeconds(now.getSeconds() + 1);//обновляем текущую дату
watch.innerHTML=((summerEnd - now)/1000).toFixed();
};
setInterval(updateTimer, 1000);
#watch{
display:block;
}
#watch:after{
content: ' секунд';
}
<p>
<span>До конца лета осталось:</span>
<span id="watch"></span>
</p>
Чтобы таймер при перезагрузке страницы не сбрасывался, время таймера нужно хранить в localStorage
.
P.S. При использовании localStorage
на StackOverflow будет писать ошибку.
var watch = document.getElementById('watch');
var count;
if (localStorage['count'] == '0')
count = 16;
else
count = localStorage['count'];
watch.innerText = count;
var updateTimer = function () {
watch.innerText = count;
if (count > 0) {
watch.innerText = count -= 1;
localStorage['count'] = count;
}
};
setInterval(updateTimer, 1000);
<p><span id="watch"></span></p>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулся со следующей проблемой - при попытке подключить Yandex Maps через $('head')append('<script src="https://api-maps
Задача: после нажатия на кнопку, value инпута должно попасть в p, одновременно с этим placeholder инпута должен стать value + 100
Необходимо запустить функцию JS автоматически при открытии страницыСейчас она запускается по нажатию, нужно сделать автоматически