1

アコーディオンFAQを作っています。オンラインにはたくさんのスクリプトがありますが、理解できないスクリプトを使用するのは嫌いです (Javascript は初めてです)。だから私は基本から始めて、上に向かって進んでいきます。次のコードは、なぜ機能しないのかイライラさせられます。

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>

スクリプトは、見つけたばかりのアコーディオンを開きます。ただし、Javascript の "else" 部分が機能しません。もう一度リンクをクリックすると、ディスプレイをオフに戻すことができません。「else if」のさまざまな方法を試して、それがうまくいかないかどうかを確認しました。

みんなありがとう

4

1 に答える 1

6

=条件で比較 ( ) の代わりに代入 ( ) を使用==しています。

あるいは、

function faq1() {

    var faq1 = document.getElementById("faq1");

    faq1.style.display = faq1.style.display == "none" ? "" : "none";

}
于 2013-01-04T00:04:01.587 に答える