淋雨明天
2018-12-31 10:11
li选项卡,假如我点击第二个选项卡,怎么知道我点的是第二个选项卡?
1 最外层的循环,在加载的时候会循环完毕,最后i就变成了3,所以需要一个变量,来保存i;
2 oLis[i].onclick 在外层for循环时,给每个oLis[i]加上了点击事件.然后它的使命就此结束,不是你点击第几个li,i就会变成相对应的数字,这时候你再想获取下标,就只能从index中取了.
也不知道我表达清楚没,我的理解大概是这样哈,有异议大家再一起交流,一起进步!
你标记的那个代码,是给每一个li都添加了一个点击事件,知道你点击的是那个li,主要是下面的oDivs[this.index].className = "";因为你保存了 index ,所以它知道你点击的是那个li标签
你可以在html中定义onclick="choose(this)",然后在js里面写choose函数。this就把当前选中的节点传过去了
for(var i= 0,len = oLis.length;i<len;i++){
oLis[i].index = i;
oLis[i].onclick = function() { //这句假如我点了第二个选项卡,i就等于1吗?,这段代码不是在window.onload中加载只执行一次吗?我点击了他还会执行的?
for(var n= 0;n<len;n++){
oLis[n].className = "";
oDivs[n].className = "hide";
}
this.className = "on";
oDivs[this.index].className = "";
}
};
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题