単一ページの Web サイトを使用していますが、対応するコンテンツに到達したときにナビゲーション アイテムを強調表示するのに問題があります。ここで、コードを単純化します。
HTML:
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#blog">Blog</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<div id="home">Lorem ipsum</div>
<div id="about">Lorem ipsum</div>
<div id="blog">Lorem ipsum</div>
<div id="contact">Lorem ipsum</div>
脚本:
$(document).ready(function() {
// function that scrolls automatically to the content of a certain menu item. Just
// like scroll-to.js
// .scroll event that automatically sets the "current" class to the list item when
// when it reached its corresponding div.
});
これは、ページを上下にスクロールするだけで完全に機能します。問題は、リスト項目をクリックしたときです。たとえば、現在強調表示されているアイテムは「ホーム」であり、クリックして「連絡先」に移動したいとします。強調表示は .scroll イベントで操作されるため、[ホーム] と [連絡先] の間の 2 つのボタンも強調表示されます。これは、クリックが [ホーム] から [連絡先] に移動するためです。
間にある項目を無視する方法はありますか? ありがとう。