Mrgreed
2018-08-24 22:04:47
? ? <script type="text/javascript">? ? ? ? ?? ? window.onload = function() {? ? ? ? var oUl1 = document.getElementById("ul1");? ? ? ? var aLi = oUl1.getElementsByTagName("li");? ? ? ? var oDiv = document.getElementById("tab-list");? ? ? ? var aDiv = oDiv.getElementsByTagName("div");? ? ? ? for(var i = 0; i < aLi.length; i++) {? ? ? ? ? ? aLi[i].index = i;? ? ? ? ? ? aLi[i].onmouseover = function() {? ? ? ? ? ? ? ? for(var i = 0; i < aLi.length; i++) {? ? ? ? ? ? ? ? ? ? aLi[i].className = "";? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? this.className = "active";? ? ? ? ? ? ? ? for(var j = 0; j < aDiv.length; j++) {? ? ? ? ? ? ? ? ? ? aDiv[j].className = "hide";? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? aDiv[this.index].className = "show";? ? ? ? ? ? } ? ? ? ?? ? ? ? }? ? }? ??? ??? ? </script>? aLi[i].className = "";和aDiv[this.index].className = "show";觸發(fā)三次之后怎么就和鼠標(biāo)聯(lián)系上了,為什么鼠標(biāo)點哪就可以實現(xiàn)這個語句?(說的不太清楚,我也不知道該怎么說,見諒)
2 回答
已采納

心上無垢
TA貢獻(xiàn)6條經(jīng)驗 獲得超2個贊
恩? 不要著急? 慢慢來,以后你會越來越懂。
aLi[i].className = ""這句話是讓你你的樣式變沒有。
aDiv[this.index].className = "show"這句話是讓你的樣式顯示出來。
你很奇怪【this,index】是什么,是指的什么對吧?
這個就是指的你鼠標(biāo)點擊了誰。(他不是你說的怎么和鼠標(biāo)點擊連接起來)
this就是當(dāng)前的意思。你點了誰,誰就是this
index就是下標(biāo)。比如你點擊了第三個。那么index就變成了3(其實是變成了2 因為程序是從零開始的,這個不重要)
好了?,F(xiàn)在程序知道你點了第三個元素,它就把這個元素加上樣式了。

橋本奈奈未
TA貢獻(xiàn)436條經(jīng)驗 獲得超108個贊
你是想問this指的是什么嗎?
this指的是執(zhí)行上下文對象。
簡單來說:
如果是在對象方法上,this指的就是該對象,比如:
var?obj?=?{ ????fn:?function(){ ????????//?this?==?obj ????} }
所以在aLi[i].onmouseover 中的this指的就是aLi[i]這個DOM對象。
添加回答
舉報
0/150
提交
取消