這個錯在哪?
function?hasClass(obj,?cls)?{
return?obj.className.match(new?RegExp("(\\s|^)"?+?cls?+?"(\\s|$)"));
}
function?removeClass(obj,?cls)?{
if(hasClass(obj,?cls))?{
//remove
var?reg?=?new?RegExp("(\\s|^)"?+?cls?+?"(\\s|$)");
obj.className?=?obj.className.replace(reg,?"");
}
}
????function?addClass(obj,?cls){
????????if(!hasClass(obj,?cls)){
????????????obj.className?+=?"?"?+?cls;
????????}
????}
//定義getByClassName函數,讓函數實現給對象增加class?
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?_item?=?items[i];
var?_itemTop?=?_item.offsetTop;
if(top?>?_itemTop?-?200)?{
currentId?=?_item.id;
}?else?{
break;
}
}
if(currentId)?{
for(var?i?=?0;?i?<?menus.length;?i++)?{
var?mu?=?menus[i];
var?href?=?mu.href.split("#");
if(href[href.length?-?1]?!=?currentId)?{
removeClass(mu,?"current");
}?else?{
addClass(mu,?"current");
}
}
}
}
}非常感謝!
2017-06-21
視屏里面的是這個,但是我一直運行不了,但改成了 var top =?document.documentElement.scrollTop || document.body.scrollTop; 這樣之后才行,為什么?
2016-07-14
第35行改成var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;