
07.04.2021, 20:34
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Сообщение от jurvrn
|
Но почему ? Ведь секунды не выводятся.
|
видимо вы невнимательно читали пост про эти часы, часы и так отстают(ждут ответ с сервера), а если убрать и секунды то отставать будут ещё больше, секунды не выводятся, но участвуют в начале старта.
Сообщение от jurvrn
|
Мне кажется что этот скрипт нагружает компьютер своей анимацией.
|
можно слегка оптимизировать
заменив a.innerHTML = e[b]
на
if(a.innerHTML != e[b]) a.innerHTML = e[b]
|
|

07.04.2021, 23:24
|
Аспирант
|
|
Регистрация: 04.04.2021
Сообщений: 52
|
|
рони,
разобрался - с учетом того что это шорткод окончание кода будет таким
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
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Сообщение от jurvrn
|
а это на что повлияло?
|
вместо перезаписи 3 элементов 60 раз в секунду, в лучшем(98% условно) случае будет перезаписыватся 1 элемент в 1 секунду, в "худшем"(2%) 3 элемента 1 секунду
|
|

08.04.2021, 12:18
|
Аспирант
|
|
Регистрация: 04.04.2021
Сообщений: 52
|
|
рони,
а здесь у вас вообще не было анимации для перезаписи?
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
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Сообщение от jurvrn
|
а здесь у вас вообще не было анимации для перезаписи?
|
не понимаю что такое анимация в ваших вопросах , но перезапись(вывод значения часов) 10 раз в секунду, строка 14, 100 можно увеличить до 1000 и тогда вывод будет раз в секунду.
|
|

08.04.2021, 17:58
|
Аспирант
|
|
Регистрация: 04.04.2021
Сообщений: 52
|
|
рони, просто в первом случае у вас был setInterval, а во втором requestAnimationFrame.
|
|

08.04.2021, 18:32
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
jurvrn,
requestAnimationFrame оба метода имеют плюсы и минусы.
|
|

10.04.2021, 10:47
|
Аспирант
|
|
Регистрация: 04.04.2021
Сообщений: 52
|
|
рони,
Мне больше важно меньше нагрузка на сайт, на браузер. И точность, чтобы не было зависаний. Какой тогда лучше?
Последний раз редактировалось jurvrn, 10.04.2021 в 10:49.
|
|

10.04.2021, 11:13
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
jurvrn,
setInterval может затормозить на неактивной вкладке, а потом "выстрелить" очередью без промежутков, всё зависит от мощности компа и браузера, может пройти незаметно.
на данном этапе можно считать оба метода одинаковы, но если есть возможность отказаться от setInterval, то лучше его не использовать, от слова совсем.
|
|

10.04.2021, 11:48
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
jurvrn,
почитайте внимательно всю статью и выводы внизу settimeout-setinterval
|
|
|
|