請(qǐng)問(wèn)為什么要獲取index?直接用 i 為什么不行?求解~~多謝
既然是 lis[i] 發(fā)生 onclick 事件,而且div的排序和li是相應(yīng)的
為什么下面不可以直接 lis[i].className="on"; divs[i].className="";
既然是 lis[i] 發(fā)生 onclick 事件,而且div的排序和li是相應(yīng)的
為什么下面不可以直接 lis[i].className="on"; divs[i].className="";
2016-05-15
舉報(bào)
2016-05-15
因?yàn)轫?yè)面一旦加載完成就觸發(fā)onload事件,而onclick事件觸發(fā)之前,for(var i= 0,len = oLis.length;i<len;i++)這個(gè)循環(huán)已經(jīng)運(yùn)行完成了!這時(shí)候的i=3.在oLis[i].onclick = function()之前document.writeln(i)你會(huì)發(fā)現(xiàn)輸出012,說(shuō)明循環(huán)已經(jīng)完成.
oLis[i].index = i 的作用只是在循環(huán)的過(guò)程中綁定下標(biāo)i(0 1 2)到oLis數(shù)組相應(yīng)元素oLis[0] oLis[1] oLis[2]的index變量上(例如oLis[0].index = 0).當(dāng)onclick事件觸發(fā)的時(shí)候,this.className中的this就是當(dāng)前鼠標(biāo)所在的元素(例如家居), 同時(shí)oDivs[this.index]會(huì)獲取到家居所對(duì)應(yīng)的oLis數(shù)組中的index值(這里是1,因?yàn)槲覀円呀?jīng)在完成的循環(huán)中將oLis[1].index=1了),而如果換成oLis[i]則因?yàn)閕永遠(yuǎn)=3所依會(huì)出錯(cuò)。