为了账号安全,请及时绑定邮箱和手机立即绑定

实现不了?求指教

<script>
    
  //定义getByClassName函数,让函数实现根据class name获取对象并返回
    function getByClassName(obj,cls){
        var elements=decument.getElementsTagName("*");
        var result=[];
        for( 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, "");
        }
    }
    
    
    //定义getByClassName函数,让函数实现给对象增加class 
    function addClass(obj,cls){
        if(!hasClass( obj, cls )){
            obj.className+=" "+cls;
        }
    }
    
    window.onload = function(){ 
        
        window.onscroll = function(){         
            var top = document.documentElement.scrollTop ? 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;
                }            
            }
        
                             
      //请补充此处代码,给正确的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,"currentId");
                    }
                        addClass(_menu,"currentId");
                }
            }
      
    
        }    
    }    
</script>


正在回答

2 回答

 return result;的位置错了,而且"elements[i]"不用双引号

0 回复 有任何疑惑可以回复我~

  if(_href(_href.length-1)!=currentId){

                        removeClass(_menu,"currentId");

                    }

这儿应该是_href[_href.length-1],数组里的元素应该是中括号的吧,你试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

实现不了?求指教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信