1

複数のセクションを作成し、クリックして表示または非表示にしようとしています。したがって、 、 、および の 3 つがありidます。section2section2hiddensection2visible

この Web サイトで動作しないコードを見てください。6 年生以下の国語のリンクをクリックしてから、左上隅にある [戻る] ボタンをクリックします (ブラウザではありません! )。要素を元に戻すことがわかりますが、それはまだopacity:0か何かです。

4

3 に答える 3

2

存在しない div を探しているときに、コードが停止しているようです。

document.getElementById('6-2')

のエラーが発生しますcannot read property 'style' of null

于 2012-12-09T05:15:39.640 に答える
1

まず、JavaScript コードを開発するときは、デバッグするメソッドが必要です。Firefox を使用している場合は、Firebug というアドオンがあります。Chrome を使用している場合は、既に統合されています。それを使用すると、「6-2」IDの要素がなく、nullオブジェクトのプロパティにアクセスしようとしているため、「戻る」関数が完全に実行されないことがわかります。それは「なぜ失敗するのか」という質問に答えます。ただし、次のことを調べることをお勧めします。

  • 基本的な機能の概念。「one()、two()、three()」などの関数を作成する代わりに、パラメーターを使用して 1 つの関数を使用できます。
  • 基本的なループ プログラミング。次のようなコードを使用しています
    
    .getElementById('6-1')...
    .getElementById('6-2')...
    
    やみくもにコピー/貼り付けするのではなく、ループを使用してマシンを機能させます。
  • CSS クラス。要素の ID を変更する代わりに、"hidden" などのクラスを追加するだけです。次に、次のようなルールを追加します
    .hidden{display:none;}
    クラスを取り除くと、ルールが適用されなくなるため、要素が再び表示されます。
于 2012-12-09T05:23:29.503 に答える
0

戻るボタンを押すと、最初のセクションは ID のままになりますsection2hidden。に戻す必要がありますsection2

于 2012-12-09T05:13:53.857 に答える