Я делаю аккордеон FAQ. Есть много сценариев в Интернете, но я ненавижу использовать сценарии, которые я не понимаю (я новичок в Javascript). Поэтому я начинаю с базового и работаю. Следующий код расстраивает меня, почему он не работает:basic javascript accordion
Javascript:
function faq1() {
var faq1 = document.getElementById("faq1")
if (faq1.style.display = "none") {
faq1.style.display = "block";
}
else {
faq1.style.display = "none";
}
}
HTML/CSS:
<a href="#" onclick="faq1()">Question 1</a>
<div id="faq1" style="display: none">
Answer to question 1
</div>
скрипт открывает аккордеон просто найти. Тем не менее, «else» часть Javascript не работает, когда я нажимаю на ссылку во второй раз, я не могу заставить дисплей отключиться. Я пробовал различные методы «else if», чтобы увидеть, будет ли это работать без везения.
Спасибо ребята
«Я ненавижу, используя скрипты я не понимаю (я новичок в Javascript)» - может быть, это проблема, которую должны решать. Хотя очевидно, что нужно изобретать колесо для учебных целей, пройдите перед тем, как вы запустите. И ИМО, способная использовать библиотеки на основе документации, должна появиться перед тем, как писать собственные, специальные, нерегулярные замены - это просто звучит как настроить себя для кошмара обслуживания по дороге. – millimoose
Кроме того, вы пробовали использовать отладчик? Проверьте, действительно ли 'faq1()' даже вызывается, какие строки выполняются и каково значение 'faq1.style.display' на самом деле. – millimoose