求細(xì)心的人幫我看下到底出錯(cuò)錯(cuò)在哪里
? ??
? //定義getByClassName函數(shù),讓函數(shù)實(shí)現(xiàn)根據(jù)class name獲取對(duì)象并返回
function getByClassName(obj,cls){
? var elements = obj.getElementsByTagName("*");
? var result = [];
? if(var i=0;i<elements.length;i++){
? ? ? if(elements[i].className==cls) {
? ? ? ? ? ?result.push(elements[i]);
? ? ? }
? }
? return result;
}
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函數(shù),讓函數(shù)實(shí)現(xiàn)給對(duì)象增加class?
? ??
window.onload = function(){?
? ?window.onscroll = function(){
? ?var top=document.documentElement.scrollTop||document.body.scrollTop;
var menus = document.getElementById("menu").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 = _item.id;
} else {?
? ?break;
}
}
? ? ? //請(qǐng)補(bǔ)充此處代碼,給正確的menu下的a元素class賦值current
? ? ??
? ? ? ? ? ? ? ?if(currentId){
? ? ? ? ? ? ? ? ? ? for(var j=0;j<menus.length;j++){
? ? ? ? ? ? ? ? ? ? var _menu = menus[j];
? ? ? ? ? ? ? ? ? ? var _href = _menu.href.split("#");
? ? ? ? ? ? ? ? ? ? if(_href[_href.length-1]!=currentId){
? ? ? ? ? ? ? ? ? ? ? ? removeClass(_menu,"current");
? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? addClass(_menu,"current");
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?}
}
}
2017-09-21
var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
2017-03-30
就是右側(cè)的導(dǎo)航欄的焦點(diǎn)沒有跟著scroll的變化而變化,就是圖片區(qū)域?qū)?yīng)的焦點(diǎn)沒有發(fā)生變化