亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

index里的this是怎么個觸發方式

index里的this是怎么個觸發方式

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";觸發三次之后怎么就和鼠標聯系上了,為什么鼠標點哪就可以實現這個語句?(說的不太清楚,我也不知道該怎么說,見諒)
查看完整描述

2 回答

已采納
?
心上無垢

TA貢獻6條經驗 獲得超2個贊

恩? 不要著急? 慢慢來,以后你會越來越懂。

aLi[i].className = ""這句話是讓你你的樣式變沒有。

aDiv[this.index].className = "show"這句話是讓你的樣式顯示出來。

你很奇怪【this,index】是什么,是指的什么對吧?

這個就是指的你鼠標點擊了誰。(他不是你說的怎么和鼠標點擊連接起來)

this就是當前的意思。你點了誰,誰就是this

index就是下標。比如你點擊了第三個。那么index就變成了3(其實是變成了2 因為程序是從零開始的,這個不重要)

好了。現在程序知道你點了第三個元素,它就把這個元素加上樣式了。

查看完整回答
反對 回復 2018-08-25
  • Mrgreed
    Mrgreed
    this.className = "active";和 aDiv[this.index].className = "show";這里的this和this.index為什么不能用i來替代?
  • 心上無垢
    心上無垢
    因為i代替了被循環的所有元素。i代表了一堆。這個i不能單指某一個
?
橋本奈奈未

TA貢獻436條經驗 獲得超108個贊

你是想問this指的是什么嗎?

this指的是執行上下文對象。

簡單來說:

如果是在對象方法上,this指的就是該對象,比如:

var?obj?=?{
????fn:?function(){
????????//?this?==?obj
????}
}

所以在aLi[i].onmouseover 中的this指的就是aLi[i]這個DOM對象。

查看完整回答
反對 回復 2018-08-25
  • 心上無垢
    心上無垢
    她想問的還不是this 的指代。他現在還在基礎部分
  • 2 回答
  • 0 關注
  • 925 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號