Как сделать сохранение выбора темы тёмная или светлая на любой странице?
Сделал тёмную и светлую тему, но при переходе на другую страницу тема становится по умолчанию и приходится снова нажимать на кнопку. Как исправить?
document.getElementById('hide-checkbox').addEventListener('click', function(){
const bodyElement = document.body;
const currentTheme = bodyElement.className;
if (currentTheme === 'light-theme') {
bodyElement.classList.remove('light-theme');
bodyElement.classList.add('dark-theme');
} else {
bodyElement.classList.remove('dark-theme');
bodyElement.classList.add('light-theme');
}});
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
document.getElementById('hide-checkbox').addEventListener('click', function(){
const bodyElement = document.body;
const currentTheme = bodyElement.className;
if (currentTheme === 'light-theme') {
bodyElement.classList.remove('light-theme');
bodyElement.classList.add('dark-theme');
localStorage.setItem('theme', 'dark-theme');
} else {
bodyElement.classList.remove('dark-theme');
bodyElement.classList.add('light-theme');
localStorage.setItem('theme', 'light-theme');
}});
+ добавить код:
let defaultTheme = 'light-theme';
document.addEventListener("DOMContentLoaded", (event) => {
const bodyElement = document.body;
bodyElement.classList.remove('light-theme');
bodyElement.classList.remove('dark-theme');
bodyElement.classList.add(localStorage.getItem('theme') || defaultTheme);
});