如何使用jquery来识别页面滚动到了哪个部分
How can I use jquery to recognize which section the page has scrolled to?
我有一个页面是这样的:
<nav style="position:fixed;top=0;left=0;width:100px;">
<a class="one" href="#one">One</a>
<a class="two" href="#two">Two</a>
<a class="three" href="#three">Three</a>
<a class="four" href="#four">Four</a>
<a class="five" href="#Five">Five</a>
</nav>
<section style="margin-left:120px;height:550px;">
<a name="one" id="one"></a>
Content of section one ...
</section>
<section style="margin-left:120px;height:350px;">
<a name="two" id="two"></a>
Content of section two ...
</section>
<section style="margin-left:120px;height:750px;">
<a name="three" id="three"></a>
Content of section three ...
</section>
<section style="margin-left:120px;height:450px;">
<a name="four" id="four"></a>
Content of section four ...
</section>
<section style="margin-left:120px;height:250px;">
<a name="five" id="five"></a>
Content of section five ...
</section>
导航总是可见的,当用户单击链接时,它将在jquery中获得.active类。但是当用户滚动到一个页面时,我想根据可见窗口顶部的部分来更改.active链接
我试着玩$(window).scroll()和$(link.hash).offset().top,但老实说,我不知道如何管理它才能正常工作。
您可以使用jquery的:visible选择器,参见此示例;
$("section:visible").filter(":last-child").addClass("active");
漂亮的插件做到了这一点:http://imakewebthings.github.com/jquery-waypoints/
相关文章:
- 将两个ext.TabPanels滚动到一起
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- 将事件列表滚动到给定月份的第一个事件
- 如何停止两个按钮执行相同的工作?在这种情况下,它们都会滚动到顶部
- 无限滚动在IE中返回多个结果
- 在结束请求上设置多个滚动条位置
- 镜像滚动效果打开.在两个容器之间单击
- 获取可滚动列表中第一个可见项的位置
- 用Javascript将焦点设置在select元素上会将第一个项目滚动到视图之外
- 如何从一个类实现多个微小滚动条
- 查找第一个可滚动的父项
- 将页面分成两部分,并将两个部分滚动到相反的方向
- 解决 Chrome 问题423256:将多个选择滚动到视图中
- 如何在 Twitter 引导流畅布局中创建多个可滚动部分
- fullpage.js在节之间添加了2个自动滚动事件
- 如何使同步两个 Div 滚动位置更平滑
- “看来More"按钮后每三个底部滚动使用jquery
- 实现两个平滑滚动效果的麻烦
- JavaScript-用两个或多个手指滚动
- 如何创建多个可滚动文本实例?它适用于一个例子