飞天意大利面神兽
2016-07-14 10:28
function getclsname(cls,parent){
var oparent=parent?document.getElementById(parent):document;
var eles=[];
var elements=oparent.getElementsByTagName("*");
for(var i=0;i<elements.length;i++){
if(elements[i].className==cls){
eles.push(elements[i]);
}
}
return eles;
}
window.onload=function(){
window.onscroll=function(){
var top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;
var menus=document.getElementById("menu").getElementsByTagName("a");
var items=getclsname("item");
var currentid="";
for(var i=0;i<items.length;i++){
var it=items[i];
var itemstop=it.scrollTop;
if(top>itemstop-200){
currentid=it.id;
}else{
break;
}
}
if(currentid){
for(var j=0;j<menus.length;j++){
var mu=menus[j];
var href=mu.href.split("#");
if(href[href.length-1]!=currentid){
mu.className="";
}else{
mu.className="current";
}
}
}
}
}非常感谢!
改为 var top=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
调用getclsname(cls,parent)时候的参数应该有两个参数,你只写了一个cls
var items=getclsname("item");还应该把parent参数写上去。
调用getclsname的时候参数少传了一个
网页定位导航特效
71391 学习 · 504 问题
相似问题
回答 4
回答 1