Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Корректировка часового пояса в часах (на МСК) (https://javascript.ru/forum/misc/82235-korrektirovka-chasovogo-poyasa-v-chasakh-na-msk.html)

рони 07.04.2021 20:34

Цитата:

Сообщение от jurvrn
Но почему ? Ведь секунды не выводятся.

видимо вы невнимательно читали пост про эти часы, часы и так отстают(ждут ответ с сервера), а если убрать и секунды то отставать будут ещё больше, секунды не выводятся, но участвуют в начале старта.

Цитата:

Сообщение от jurvrn
Мне кажется что этот скрипт нагружает компьютер своей анимацией.

можно слегка оптимизировать
заменив
a.innerHTML = e[b]

на
if(a.innerHTML != e[b]) a.innerHTML = e[b]

jurvrn 07.04.2021 23:24

рони,
разобрался - с учетом того что это шорткод окончание кода будет таким
var span = document.querySelector(".time");
TIMELITE
." fn(span, '". (date("G")+3).":".date("i") .":".date("s") ."');
        </script>
";


а это на что повлияло?
if(a.innerHTML != e[b]) a.innerHTML = e[b]

рони 07.04.2021 23:30

Цитата:

Сообщение от jurvrn
а это на что повлияло?

вместо перезаписи 3 элементов 60 раз в секунду, в лучшем(98% условно) случае будет перезаписыватся 1 элемент в 1 секунду, в "худшем"(2%) 3 элемента 1 секунду

jurvrn 08.04.2021 12:18

рони,
а здесь у вас вообще не было анимации для перезаписи?
function moscowTime() {
	var d = new Date();
	d.setHours( d.getHours() + 3, d.getMinutes() + d.getTimezoneOffset()  );
    var reg = d.getSeconds()%2;
    var time = d.toTimeString().substring(0,5)
    reg && (time = time.replace(':',' '))
    return time;
}

onload = function () {

  setInterval(function () {
    document.getElementById("txt").innerHTML = moscowTime();
  }, 100);
}

рони 08.04.2021 12:45

Цитата:

Сообщение от jurvrn
а здесь у вас вообще не было анимации для перезаписи?

не понимаю что такое анимация в ваших вопросах , но перезапись(вывод значения часов) 10 раз в секунду, строка 14, 100 можно увеличить до 1000 и тогда вывод будет раз в секунду.

jurvrn 08.04.2021 17:58

рони, просто в первом случае у вас был setInterval, а во втором requestAnimationFrame.

рони 08.04.2021 18:32

jurvrn,
requestAnimationFrame оба метода имеют плюсы и минусы.

jurvrn 10.04.2021 10:47

рони,
Мне больше важно меньше нагрузка на сайт, на браузер. И точность, чтобы не было зависаний. Какой тогда лучше?

рони 10.04.2021 11:13

jurvrn,
setInterval может затормозить на неактивной вкладке, а потом "выстрелить" очередью без промежутков, всё зависит от мощности компа и браузера, может пройти незаметно.
на данном этапе можно считать оба метода одинаковы, но если есть возможность отказаться от setInterval, то лучше его не использовать, от слова совсем.

рони 10.04.2021 11:48

jurvrn,
почитайте внимательно всю статью и выводы внизу settimeout-setinterval


Часовой пояс GMT +3, время: 06:04.