大神大神,求助大神
for(var i= 0,len = oLis.length;i<len;i++){ ? ?
oLis[i].index = i; ? ?
oLis[i].onclick = function() { ? ?
for(var n= 0;n<len;n++){ ? ?
oLis[n].className = ""; ? ?
oDivs[n].className = "hide"; ? ?
} ? ?
this.className = "on"; ? ?
oDivs[this.index].className = ""; ? ?
}? ? ?
能給我解釋一下這個(gè)代碼嗎?,看得不是很明白啊
2016-12-06
主要還是oLis[i].index = i這句吧?
這里for循環(huán)內(nèi)部有個(gè)click事件,如果不去保存i值,那么在頁(yè)面加載時(shí)會(huì)先加載for循環(huán),這時(shí)click事件并沒(méi)有觸發(fā),因此加載好for循環(huán)后,i值已經(jīng)為oLis.length,這時(shí)如果觸發(fā)click事件,i值就是定值(為oLis.length),但如果提前在頁(yè)面加載循環(huán)時(shí)將每一個(gè)i值保存在每一個(gè)oLis的index屬性上,那么在click事件內(nèi)部,再去調(diào)用當(dāng)前事件的index屬性,就是在頁(yè)面加載是保存下來(lái)對(duì)應(yīng)的i值了
2016-12-07
好,明白了,謝謝哈,你這么一說(shuō)我就想通了,哈哈
2016-12-07
for(var n= 0;n<len;n++){ ? ?
oLis[n].className = ""; ? ?
oDivs[n].className = "hide"; ? ?
} ? ?
this.className = "on"; ? ?
oDivs[this.index].className = ""; ? ?
} ? ??
我不明白為啥?
oLis[n].className = ""; ? ?oDivs[n].className = "hide"; 這兩句,前面設(shè)置為空是什么意思,能講下嗎