複数のセクションを作成し、クリックして表示または非表示にしようとしています。したがって、 、 、および の 3 つがありid
ます。section2
section2hidden
section2visible
この Web サイトで動作しないコードを見てください。6 年生以下の国語のリンクをクリックしてから、左上隅にある [戻る] ボタンをクリックします (ブラウザではありません! )。要素を元に戻すことがわかりますが、それはまだopacity:0
か何かです。
複数のセクションを作成し、クリックして表示または非表示にしようとしています。したがって、 、 、および の 3 つがありid
ます。section2
section2hidden
section2visible
この Web サイトで動作しないコードを見てください。6 年生以下の国語のリンクをクリックしてから、左上隅にある [戻る] ボタンをクリックします (ブラウザではありません! )。要素を元に戻すことがわかりますが、それはまだopacity:0
か何かです。
存在しない div を探しているときに、コードが停止しているようです。
document.getElementById('6-2')
のエラーが発生しますcannot read property 'style' of null
。
まず、JavaScript コードを開発するときは、デバッグするメソッドが必要です。Firefox を使用している場合は、Firebug というアドオンがあります。Chrome を使用している場合は、既に統合されています。それを使用すると、「6-2」IDの要素がなく、nullオブジェクトのプロパティにアクセスしようとしているため、「戻る」関数が完全に実行されないことがわかります。それは「なぜ失敗するのか」という質問に答えます。ただし、次のことを調べることをお勧めします。
.getElementById('6-1')...
.getElementById('6-2')...
やみくもにコピー/貼り付けするのではなく、ループを使用してマシンを機能させます。.hidden{display:none;}
クラスを取り除くと、ルールが適用されなくなるため、要素が再び表示されます。戻るボタンを押すと、最初のセクションは ID のままになりますsection2hidden
。に戻す必要がありますsection2
。