<script?type="text/javascript">
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,?"");
}
}
???
????//定義getByClassName函數(shù),讓函數(shù)實(shí)現(xiàn)給對(duì)象增加class?
????function?addClass(obj,?cls){
????????if(!hasClass(obj,?cls)){
????????????obj.className?+=?"?"?+?cls;
????????}
????}
function?getByClassName(obj?,?cls){
var?elements?=?document.getElementsByTagName('*');
var?result?=?[];
for?(var?i?=?0;?i?<?elements.length;?i++)?{
if?(elements[i].className?==?cls)?{
result.push(elements[i]);
};
};
}
window.onload?=?function(){
window.onscroll?=?function(){
var?top?=?document.documentElement???document.documentElement.scrollTop?:?document.body.scrollTop;
?/*兼容IE瀏覽器*/
var?menu?=?document.getElementById('menu').document.getElementsByTagName('a');
var?items?=?getByClassName(document.getElementById('content'),'item');
var?currentId?=?"";
for?(var?i?=?0;?i?<?items.length;?i++)?{
var?_item?=?items[i];
var?_itemTop?=?_item.offsetTop;
if?(?top?>?_itemTop?-200)?{
currentId?=?_itemTop;
}else{
break;
}
}
if?(currentId)?{
for(var?j?=?0?;?j?<?menu.length?;?j++){
var?_menu?=?menu[j];
var?_href?=?_menu.herf.split("#");
if?(_href[_href.length?-?1]?!=?currentId)?{
removeClass(_menu,"current");
}else{
addClass(_menu,"current");
};
}
};
}
}
</script>
2015-12-06
第47行寫錯(cuò)了改為currentId?=?_item.id;
2015-10-30
document.documentElement.scrollTop || document.body.scrollTop;
2015-09-20
var?top?=?document.documentElement???document.documentElement.scrollTop?:?document.body.scrollTop;改為:
var top = document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop;