以下のコードを使用して、ナビゲーションとその子を表示/非表示にしています。意図したとおりに動作しています。ナビゲーションが表示され、子リンクの 1 つをクリックすると、ナビゲーションが閉じて、新しいページに移動します。
// swap classes for lower level nav
jQuery('.toggle').click(function() {
$(this).toggleClass('toggle');
$(this).toggleClass('toggle_open');
});
jQuery('a.portfolio').click(function(e) {
e.preventDefault();
});
Safari ではこれは行われませんが、Chrome と Firefox では上記の動作が表示されます。インスペクタが開いているときに何が起こっているかを見ているとき。親リンクをクリックすると、トグル クラスが適用されます。子リンクをクリックすると、トグル クラスが元に戻ります。
要求されたページに移動する前にナビゲーションが閉じないようにするにはどうすればよいですか?
私のマークアップ(ナビゲーションには型破りです-私は知っています):
<span class="toggle">
<a href="portfolio/" class="level1 portfolio">Portfolio</a>
<span>
<a href="portfolio/item1/" class="first level2">item 1</a>
<a href="portfolio/item2/" class="level2">item 2</a>
<a href="portfolio/item3/" class="last level2">item 3</a>
</span>
</span>