大神大神,求助大神
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 = ""; ? ?
}? ? ?
能給我解釋一下這個代碼嗎?,看得不是很明白啊
2016-12-06
主要還是oLis[i].index = i這句吧?
這里for循環內部有個click事件,如果不去保存i值,那么在頁面加載時會先加載for循環,這時click事件并沒有觸發,因此加載好for循環后,i值已經為oLis.length,這時如果觸發click事件,i值就是定值(為oLis.length),但如果提前在頁面加載循環時將每一個i值保存在每一個oLis的index屬性上,那么在click事件內部,再去調用當前事件的index屬性,就是在頁面加載是保存下來對應的i值了
2016-12-07
好,明白了,謝謝哈,你這么一說我就想通了,哈哈
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"; 這兩句,前面設置為空是什么意思,能講下嗎