2

シンプルなトグル js が必要なだけなので、ナビゲーションで About をクリックすると about テキストが表示されますが、現在は動作しています oO

JS 部分:

<script language="JavaScript" type="text/javascript">
function toggle() {
var about = document.getElementById('about')
if(about.style.display = "none")
{
about.style.display = "block";
}

else
{
about.style.display = "none";
}
}
</script>

HTML:

<header>
...
    <nav><ul>
        <li><a href="index.html" id="active">Home</a></li>
        <li><a href="javascript:toggle()" onClick="toggle()">About me</a></li>
        ...more <li>s...
    </ul></nav>
</header>
<br/>

<div id="about">
aboutme
</div>

CSS:

#about {
    display: none;
    }

私は何を間違っていますか?? 誰でも私を助けることができますか?

4

2 に答える 2

5

ifステートメントでは、する必要がありますhave two equal sign

function toggle() {
    var about = document.getElementById('about');
    if(about.style.display == "none")
    {
        about.style.display = "block";
    }
    else
    {
        about.style.display = "none";
    }
}

ノート

= you can just assign value to variable
== must be used to compare variables values
=== must be used to compare variables in every aspect (In type too)
于 2013-01-13T15:21:52.217 に答える
2

問題を修正し、==その CSS ルールで「about」要素を非表示にする代わりに、スタイルを要素に直接配置します。

<div id=about style='display: none'>About Me</div>

そうしないと、JavaScript コードはスタイル オブジェクトの「display」プロパティを認識しません。(スタイル オブジェクトは、要素に直接関連付けられたスタイルのみを反映し、CSS スタイルシートによって制御されるスタイルは反映しません。)

于 2013-01-13T15:25:10.750 に答える