Добрый день! Я только недавно начал писать на JavaScript, и пытался написать для своего сайта
часы, чтобы человек мог в любое время посмотреть время. Но столкнулся с такой проблемой, что
часы нужно обновлять каждую 1 - 1.5 секунд, чтобы постоянно ставить нужное время, и в итоге на сайте
очень низкая производительность, и даже другие сайты начинают лагать из-за этого. А если я поставлю обновление раз в минуту, то тогда часы будут неправильно обновляться. Например человек зайдёт на сайт в
12 минут 30 секунд, и часы обновятся не в
13 минут 0 секунд, а в
13 минут 30 секунд. Как можно оптимизировать это, и возможно ли это вообще?
Это код на часы:
function watch() {
var time = new Date();
var h = time.getHours();
var m = time.getMinutes();
var text = document.createTextNode("0:00");
var b = document.createElement("p");
b.appendChild(text);
b.setAttribute("id", "clock");
var parent = document.getElementById("maind"); //Это div
var child = document.getElementById("clock"); //Это текст для часов
parent.replaceChild(b, child);
if(m>=10) {
text.nodeValue = h + ":" + m;
}
if(m<10) {
text.nodeValue = h + ":" + "0" + m; //Чтобы показывало не 8:2, а 8:02
}
}
setInterval(watch, 1500);
У меня есть идея, как-то отключать этот код пока человек не на сайте, тогда хотя бы не лагали бы другие сайты. Но как? Заранее спасибо!