js中在window.onload中定义的函数为什么不能执行,出现报错

如果必须要求js代码卸载head里面,有什么办法
            window.onload=function(){
		    	var oContainer=document.getElementById("container");
		    	var oList=document.getElementById("list");
		    	var lis=oList.getElementsByTagName("li");
		    	var oDv=oContainer.getElementsByTagName("div");
		    	var timer=null;
		    	var k=0;
		    	for(var i=0;i<lis.length;i++){
		    		lis[i].id=i;
		    		lis[i].onmouseover=function(){
		    			clearInterval(timer);
		    		}
		    		lis[i].onmouseout=function(){
		    			clearInterval(timer);
		    			timer=setInterval("change()",1000);
		    		}
		    	}
		    	function changeli(){
		    		if(k>=lis.length){
		    			k=0;
		    		}
		    		for(var i=0;i<lis.length;i++){
	    				lis[i].className="";
	    				oDv[i].style.display="none";
	    			}
	    			lis[k].className="select";
	    			oDv[k].style.display="block";
	    			k++;
		    	}
		    	changeli();
		    	timer=setInterval("changeli()",1000);
		    }


徐风划过微凉半夏
浏览 4413回答 2
2回答

stone310

最后一句这么写:timer=setInterval(changeli,1000);    //调用函数写法可以获取到局部作用域下的函数,而原来的字符串写法只能获取全局作用域下的函数

慕莱坞8333017

3286296199422958986238744875523274916007057377881363162224635073052193308117906560818725427538420851505178373193770982623633815607607218550075598442289641791343941267706067174341441973037536764960108034475353402173871583781259982743335373852606225240418053606964173054419276015524548958144059685500701019501966553309279031795

徐风划过微凉半夏

已解决,谢谢!!!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript