document.getElementById("theme_change").onclick = function () {
if (document.body.style.backgroundColor = "#000") {
document.body.style.backgroundColor = "#f5deb3";
document.getElementsByTagName("a")[0].style.color = "#000";
document.getElementsByTagName("a")[0].style.borderColor = "#000";
document.getElementById("theme_change").innerText = "Light Theme";
} else if (document.body.style.backgroundColor = "#f5deb3") {
document.body.style.backgroundColor = "#000";
document.getElementsByTagName("a")[0].style.color = "#f5deb3";
document.getElementsByTagName("a")[0].style.borderColor = "#f5deb3";
document.getElementById("theme_change").innerText = "Dark Theme";
}
}
<div id="buttons">
<a href="#" id="color_change" class="btn">Change Color</a>
<a href="#" id="theme_change" class="btn">Light Theme</a>
</div>
Я новичок в JavaScript и по некоторым причинам мне нужно создать кнопку переключателя, чтобы изменить тему моей веб-страницы.
IДля этого я использую document.getElementById и getElementByTagName.
Но моя проблема в том, что когда я нажимаю на кнопку один раз, меняется только фон и меняется только цвет одной из моих кнопок. Когда яснова нажмите на кнопку, которая должна переключаться между темами, ничего не происходит.
На этой странице у меня есть две кнопки, которые меняют некоторые цвета на странице, первая работает очень хорошо, поэтому я не могу понять,почему второй нет.
Как объяснялось ранее, я могу один раз нажать на кнопку theme_changer, когда я нажимаю на нее, фон меняется (# 000 -> # f5deb3), цвет первой кнопкиизменится на (# f5deb3 -> # 000), а текст второй кнопки изменится на (Светлая тема -> Темная тема), но не на его цвет, он останется с тем же цветом (# f5deb3), и когда я снова нажму на негоничего не происходит.
Я попытался изменить порядок строк в файле JavaScript, чтобы увидеть, не было ли что-то другое, и чтобы увидеть, где может быть проблема, но ничего не изменилось. То же самое произошло с браузером. консоль, которая не выдала ошибок.
Спасибо за вашу помощь и советы.