我想创建导航,因为它显示在页面http://kiskolabs.com/
我已经创建了粘性菜单,但是问题始于在菜单中标记活动元素。
问题是:
如何检测页面是否滚动到特定 ID?
假设我有一些像这样的标题。
<h1 id="whatisit">What is it</h1>
<h1 id="desc">Description</h1>
<h1 id="faq">FAQ</h1>
和菜单
<nav>
<a href="#whatisit">What is it</a>
<a href="#desc">Description</a>
<a href="#faq">FAQ</a>
</nav>
当页面滚动到这个元素时,我想要突出显示菜单(添加类或其他)。
我已经发现如何在这个线程中将元素滚动到特定的 ID,但我不知道如何检测现在的 id。页面大小是动态的,可能会在内容期间发生变化。所以我想到的绝对解决方案很糟糕。
到目前为止,我滚动得到了什么:
$("nav a").click(function (){
$("html, body").animate({ scrollTop: $($(this).attr('href')).offset().top }, 1000);
});
我也找到了这个解决方案 ,但也许有更好的方法来实现它?
编辑
这个问题与版主建议的问题不重复。此外,该问题没有公认的答案。我的问题有点高级。