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

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

請問為什么使用一個for循環就可以實現選項卡切換啊?

第二個for循環我知道,就是統一格式化所有選項卡。

第一個for循環是怎么實現選項切換的沒看明白。

求解答

正在回答

4 回答

從上到下按順序執行,頁面加載到此處運行第一個for里面的oli[i].index=i;此時不執行onclick這一段,當發生點擊事件時才執行,建議可以在多處增加console.log()的語句在控制臺查看是否執行~

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

第一個for循環只是遍歷一下li,給所有li加上點擊事件;第二個for循環作用是,先把其它的class清除掉,再給當前點擊的li加上class。沒有發生點擊事件的時候,外面for循環執行到“oli[i].index=i;?”,當網頁加載好的同時就已經獲取了所有index,里面的for循環下面兩行是點擊后才執行的。你看對應的花括號就是了。

oli[i].onclick?=?function(){
????//?里面所有的語句都被onclick事件包含。
????……
}

這是我的理解,如果有其他同學的理解跟我不一樣歡迎指出來。大家一起學習。謝謝

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

當沒有發生點擊事件的時候,外面那個for循環執行到哪一步???是當網頁加載好的同時就已經獲取了所有index,還是要點擊的時候才獲取相應的index???內for循環下面那兩行是要點擊事件發生后才執行嗎?

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

window.onload=function(){

? ? ? ? var oul=document.getElementsByTagName("ul")[0];

? ? ? ? var oli=oul.getElementsByTagName("li");

? ? ? ? var odiv=document.getElementsByTagName("div");

? ? ? ? for(var i=0;i<oli.length;i++){

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

? ? ? ? ? ? oli[i].onclick=function(){

? ? ? ? ? ? ? ? for(var j=0;j<oli.length;j++){

? ? ? ? ? ? ? ? ? ? oli[j].className="";

? ? ? ? ? ? ? ? ? ? odiv[j].className="hide";

? ? ? ? ? ? ? ? }

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

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

? ? ? ? ? ? }

? ? ? ? }

? ? }


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

舉報

0/150
提交
取消

請問為什么使用一個for循環就可以實現選項卡切換???

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

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

幫助反饋 APP下載

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

公眾號

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