課程
/前端開發(fā)
/JavaScript
/Tab選項(xiàng)卡切換效果
為什么我把this.id換成i結(jié)果就不對(duì)了?
2014-11-14
源自:Tab選項(xiàng)卡切換效果 1-5
正在回答
因?yàn)檫@這個(gè)時(shí)候i的作用域已經(jīng)結(jié)束了,這時(shí)i的值是它的最后一個(gè)值。
thenger
ZhiHao 提問者
因?yàn)閛nClick不是立即執(zhí)行的,實(shí)際上當(dāng)事件處理函數(shù)執(zhí)行時(shí),這里如果使用i的話會(huì)引用同一個(gè)i,而且這個(gè)i值等于for循環(huán)結(jié)束時(shí)i的值。
實(shí)際上這里起的效果跟閉包是一樣的,具體效果是讓每一個(gè)事件處理函數(shù)都有屬于它自身的i值,而不是引用同一個(gè)i。
理解閉包和作用域就知道,i在函數(shù)中永遠(yuǎn)只能取得最后一個(gè)值。意思就是在函數(shù)里j<n.length;這個(gè)條件其實(shí)可以寫成j<i;就行了。
舉報(bào)
本課程詳細(xì)介紹網(wǎng)頁頁面中最流行常用的tab切換效果
2 回答divs[i]替代divs[this.id]為什么不行???
3 回答這里this.id只是為了切換時(shí)相互對(duì)應(yīng)的,完全可以簡單的處理為lis[i].index=i,后面直接用this.index就可以了
5 回答alert(this.id);為什么不出來
2 回答為什么我的divs[this.id].style.display='block';沒有效果呢
3 回答為什么一定要用titles[i].id = i;然后用divs[this.id]去取到元素而不用divs[i]?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2014-11-17
因?yàn)檫@這個(gè)時(shí)候i的作用域已經(jīng)結(jié)束了,這時(shí)i的值是它的最后一個(gè)值。
2016-10-21
因?yàn)閛nClick不是立即執(zhí)行的,實(shí)際上當(dāng)事件處理函數(shù)執(zhí)行時(shí),這里如果使用i的話會(huì)引用同一個(gè)i,而且這個(gè)i值等于for循環(huán)結(jié)束時(shí)i的值。
實(shí)際上這里起的效果跟閉包是一樣的,具體效果是讓每一個(gè)事件處理函數(shù)都有屬于它自身的i值,而不是引用同一個(gè)i。
2015-03-24
理解閉包和作用域就知道,i在函數(shù)中永遠(yuǎn)只能取得最后一個(gè)值。意思就是在函數(shù)里j<n.length;這個(gè)條件其實(shí)可以寫成j<i;就行了。