自调用函数解决闭包问题
改写了一下循环部分,不用oLis[i].index=i,而是调用自执行函数并传入立即参数,即可解决闭包问题。
for(var i=0;i<lists.length;i++){
(function(index){
lists[index].onclick=function(){
for(var n=0;n<lists.length;n++){
lists[n].className="";
div[n].className="hide";
}
lists[index].className="on";
div[index].className="";
}
})(i);
}写出来共勉。大家有别的方法也可以写出来大家一起学习。