【发布时间】:2014-06-06 00:45:23
【问题描述】:
我不知道怎么问,所以就这样吧:
我有一个网页,您在其中单击导航栏,它会向下或向上滚动到零件所在的位置,但您也可以手动滚动到任何您想要的位置。
我的问题是我需要在导航栏上突出显示当前查看的部分(例如,稍微明亮的颜色),这在点击时很容易做到,但似乎无法使其与滚动一起使用(两者都向上和向下)。我尝试使用 JQuery 库 waypoints,但它对我来说似乎有点复杂(JQuery 语法有点令人困惑)并且从来没有在上下滚动时激活它。
有一个简单的解决方案吗?你会推荐什么?为了简单起见,如果没有 JQuery,我会更开心。
我希望我说清楚了,英语不是我的主要语言,这是我在 SO 上的第一篇文章。
$( "#section1" ).waypoint(function(direction){
$('.highlight').removeClass('highlight');
$(".b1").addClass('highlight');
},{offset:'2px'});
$( "#section2" ).waypoint(function(direction){
$('.highlight').removeClass('highlight');
if (direction == 'Up'){
$(".b1").addClass('highlight');
}else{
$(".b2").addClass('highlight');
}
},{offset:'2px'});
在那之后,还有另一组与#section2 相同的部分,但具有其他编号,但此代码仅对部分的顶部进行更改。 这是部分:
<div class="section" id="section2">
<h2>Section 2</h2>
<p>
My Spectre around me night and day
Like a wild beast guards my way;
My Emanation far within
Weeps incessantly for my sin.
</p>
</div>
这是导航
<div class="nav"><ul>
<li><a href="#section1" class="b1"></a></li>
<li><a href="#section2" class="b2"></a></li>
<li><a href="#section3" class="b3"></a></li>
<li><a href="#section4" class="b4"></a></li>
<li><a href="#section5" class="b5"></a></li>
<li><a href="#section6" class="b6"></a></li>
<li><a href="#section7" class="b7"></a></li>
</ul></div>
感谢您的帮助。
【问题讨论】:
标签: jquery css web navigation jquery-waypoints