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

哪里有问题?http://www.imooc.com/video/901

		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";
							}
						}
					}
				}
			}

非常感谢!

正在回答

3 回答

改为 var top=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;

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

调用getclsname(cls,parent)时候的参数应该有两个参数,你只写了一个cls

var items=getclsname("item");

还应该把parent参数写上去。

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

飞天意大利面神兽 提问者

不对,parent是可以空的,
2016-07-23 回复 有任何疑惑可以回复我~

调用getclsname的时候参数少传了一个

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

飞天意大利面神兽 提问者

不行。。。
2016-07-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪里有问题?http://www.imooc.com/video/901

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