第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

li選項卡,系統代碼怎么知道我點擊的是哪個選項卡?

li選項卡,假如我點擊第二個選項卡,怎么知道我點的是第二個選項卡?

正在回答

4 回答

1 最外層的循環(huán),在加載的時候會循環(huán)完畢,最后i就變成了3,所以需要一個變量,來保存i;

2??oLis[i].onclick 在外層for循環(huán)時,給每個oLis[i]加上了點擊事件.然后它的使命就此結束,不是你點擊第幾個li,i就會變成相對應的數字,這時候你再想獲取下標,就只能從index中取了.

也不知道我表達清楚沒,我的理解大概是這樣哈,有異議大家再一起交流,一起進步!

0 回復 有任何疑惑可以回復我~
#1

小小小小小鯨魚

補充,用es6里面的let代替var,就會避免這樣的問題,因為let只在本輪循環(huán)有效,下一輪循環(huán)i會被重新賦值.具體可以看看阮一峰的es6 http://es6.ruanyifeng.com/#docs/let
2019-04-29 回復 有任何疑惑可以回復我~

你標記的那個代碼,是給每一個li都添加了一個點擊事件,知道你點擊的是那個li,主要是下面的oDivs[this.index].className = "";因為你保存了 index ,所以它知道你點擊的是那個li標簽

0 回復 有任何疑惑可以回復我~

你可以在html中定義onclick="choose(this)",然后在js里面寫choose函數。this就把當前選中的節(jié)點傳過去了

0 回復 有任何疑惑可以回復我~

? for(var i= 0,len = oLis.length;i<len;i++){

? ? ? ? ? ? ? ? ?oLis[i].index = i;

? ? ? ? ? ? ? ? ?oLis[i].onclick = function() {? //這句假如我點了第二個選項卡,i就等于1嗎?,這段代碼不是在window.onload中加載只執(zhí)行一次嗎?我點擊了他還會執(zhí)行的?

? ? ? ? ? ? ? ? ? ? ?for(var n= 0;n<len;n++){

? ? ? ? ? ? ? ? ? ? ? ? ?oLis[n].className = "";

? ? ? ? ? ? ? ? ? ? ? ? ?oDivs[n].className = "hide";

? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ?this.className = "on";

? ? ? ? ? ? ? ? ? ? ?oDivs[this.index].className = "";

? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ?};


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468970    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態(tài)交互世界

進入課程

li選項卡,系統代碼怎么知道我點擊的是哪個選項卡?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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