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

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

為什么這么寫提交上去表格直接就是紅色?

? ? window.onload = function(){

? ? ? ? trlist=document.getElementsByTagName("tr");

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

? ? ? ? ?trlist[i].onmouseover=bgcChange(trlist[i]);

? ? ? ? ?trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}

? ? ? ? }

}

? ? function bgcChange(a){

? ? ? ? a.style.backgroundColor="red";

? ? }



正在回答

4 回答

如果直接這么寫:

trlist[i].onmouseover=bgcChange(trlist[i]);

這里bgcChange是一個自執(zhí)行函數(shù),而并不是事件函數(shù),因此一加載頁面就會執(zhí)行;

但也不能這么寫:

trlist[i].onmouseover=function(){
????bgcChange(trlist[i]);???//改成:bgcChange(this);?
}

這么也i值為定數(shù)(i為trlist.length),因此要寫成你的mouseout事件的格式,用this.

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

stone310

這里this表示當前觸發(fā)事件的對象,例如鼠標移到第一個 ,this就是trlist[0],移到第二個,this就是trlist[1]...
2016-10-30 回復 有任何疑惑可以回復我~
#2

林鴻伯3985306 提問者

恩 ,下面這個我也寫過。。 這個循環(huán)是不是在頁面加載完以后就已經(jīng)停在i=3了? 我再看看書。。
2016-10-30 回復 有任何疑惑可以回復我~
#3

stone310 回復 林鴻伯3985306 提問者

循環(huán)加載完后,i為trlist.length
2016-10-30 回復 有任何疑惑可以回復我~
#4

林鴻伯3985306 提問者

非常感謝!
2016-10-30 回復 有任何疑惑可以回復我~
查看1條回復

方便把全部代碼貼出來嗎


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

林鴻伯3985306 提問者

這就是全部代碼了,你貼上去就會發(fā)現(xiàn)全是紅的,鼠標移過去紅色消失,我覺得是前半句(trlist[i].onmouse=)直接被忽略了,只執(zhí)行了函數(shù)bgcChange(trlist[i]);
2016-10-30 回復 有任何疑惑可以回復我~

this就是代表trlist[i],然后this.style.backgroundColor=“red”就是直接給他們每一個都設(shè)置了顏色!

function bgcChange(a){

? ? ? ? a.style.backgroundColor="red";

? ? }

這個函數(shù)和

?trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}只要一個就好了

你用了兩種方法設(shè)置了顏色

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

林鴻伯3985306 提問者

沒有重復,一個設(shè)置的onmouseover ,另一個設(shè)置的onmouseout, 這樣寫只是為了看看哪個出問題了。 我現(xiàn)在的問題就是用trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}設(shè)置屬性 是可以等到事件發(fā)生再響應的 ,如果用 function bgcChange(a)設(shè)置,它直接在頁面加載的時候直接把顏色全填上去了,沒法響應。
2016-10-29 回復 有任何疑惑可以回復我~

因為window.onload意思就是頁面一加載就運行!bgcChange(trlist[i]);調(diào)用了函數(shù)? function bgcChange(a)所以為紅色

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

林鴻伯3985306 提問者

那為什么trlist[i].onmouseover=function(){this.style.backgroundColor="red"}這種寫法就可以了?
2016-10-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這么寫提交上去表格直接就是紅色?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號