在页面的代码为
<div 导航部分>
<ul><li id=1 class>
</li>
<li id=2 class>
</li>
....
</ul>
<div>列面部分
<div id=001>
...内容
<div id=002>
.......略当滚动条滚动到页面中的《div id=001》的时候<li id=1 class添加class=AA 当滚动到页面中div id=002 的时候<li id=2 class添加class=BB,并且<li id=1 去掉class,依次退类,这样的js代码怎么写啊?
求个完整代码,谢谢
<div 导航部分>
<ul><li id=1 class>
</li>
<li id=2 class>
</li>
....
</ul>
<div>列面部分
<div id=001>
...内容
<div id=002>
.......略当滚动条滚动到页面中的《div id=001》的时候<li id=1 class添加class=AA 当滚动到页面中div id=002 的时候<li id=2 class添加class=BB,并且<li id=1 去掉class,依次退类,这样的js代码怎么写啊?
求个完整代码,谢谢
2、你这个添加的那个class AA BB 之类的,是同一个class么,如果不是,那么一个个指定就不好办了。或者命名有规律也成。
jquery写可以的
class不是同一个,换句话说当滚动条到页面中div=001时候,li第一条加入class=AA,当滚动到页面DIV=002时候,li第二条添加class=AA。第一条li移除class。循环...
$(document).ready(function() {
var posArr = [];
var navArr = $("ulID li"); //自己改ID
var currIndex = -1;
var styleName = "AA"; //自己改样式名
var initTop = $(document).scrollTop();
$("#001, #002, #003").each(function() { //自己加ID
posArr.push($(this).offset().top + initTop);
});
$(window).scroll(scroller);
scroller();
function scroller() {
var top = $(document).scrollTop();
var index = -2;
$.each(posArr, function(i, s) {
if(top < s) {
index = i - 1;
return false;
}
});
if(index == -2) {
index = posArr.length - 1;
}
if(index != currIndex) {
if(currIndex >= 0) {
navArr.eq(currIndex).removeClass(styleName);
}
if(index >= 0) {
navArr.eq(index).addClass(styleName);
}
currIndex = index;
}
}
}); 直接写的,不保证无BUG