Почему темная тема может мелькать, переходя по страницам сайта?

12
Snake800
На сайте с 02.02.2011
Online
236
#11
Dmitriy_2014 #:
JavaScript говорит мне, что мальчик хочешь на кнопку нажать, а ничего не выйдет, теперь скрипт выше кнопки и поэтому кнопки как бы и нет ХА-ХА – null тебе в ребро :)

Можно разделить скрипт на 2 части. Вот это -

 const currentTheme = localStorage.getItem('theme') || 'light'
document.documentElement.setAttribute('data-theme', currentTheme)
 оставить в <head>, осталное в подвал вместе с остальными скриптами.

Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#12
Snake800 #:

Можно разделить скрипт на 2 части. Вот это -

 оставить в <head>, осталное в подвал вместе с остальными скриптами.

Я вот думаю отдельный js файл сделать, только для переключения темы, или все остальное обернуть в jQuery(document).ready – ну типа чтобы оно потом грузилось.
Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#13
Подскажите, это document.addEventListener('DOMContentLoaded', по сути тоже самое что и это jQuery(document).ready? То есть ждет ожидания построения/загрузки DOM и только после него начинает что-то делать?
Snake800
На сайте с 02.02.2011
Online
236
#14
Dmitriy_2014 #:
document.addEventListener('DOMContentLoaded', по сути тоже самое что и это jQuery(document).ready?

По большому счёту да. Есть разница в том, что метод в jQuery ready сработает в любом случае, а DOMContentLoaded может быть не вызван, если событие навешано уже после вызванного браузером события загрузки.
Dmitriy_2014
На сайте с 01.07.2014
Offline
370
#15
Snake800 #:

По большому счёту да. Есть разница в том, что метод в jQuery ready сработает в любом случае, а DOMContentLoaded может быть не вызван, если событие навешано уже после вызванного браузером события загрузки.

А можно ли сказать что эти методы - document.addEventListener('DOMContentLoaded' и  jQuery(document).ready,

Это тоже самое, если бы я разместил скрипты в footer’е, перед закрывающим тегом body. По сути тоже сначала загрузится страница, а потом скрипты?
Snake800
На сайте с 02.02.2011
Online
236
#16
Dmitriy_2014 #:
Это тоже самое, если бы я разместил скрипты в footer’е, перед закрывающим тегом body. По сути тоже сначала загрузится страница, а потом скрипты?

Да. В данном случае можно использовать любой из них.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий