課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么新增一行后,鼠標滑過改變背景色不好使了?
2016-08-01
源自:JavaScript進階篇 9-22
正在回答
因為你沒給添加的行設置鼠標劃過的事件。下面這幾句就是給節點添加鼠標劃過事件的函數(只有初始化時使用到,所以只有一開始三行有反應)
? ? ? ? ? var trs = document.getElementsByTagName('tr');
? ? ? ? ? ? for(var i=1,l=trs.length;i<l;i++){
? ? ? ? ? ? trs[i].onmouseover=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#ccc";
? ? ? ? ? ? }
? ? ? ? ? ? trs[i].onmouseout=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#fff";
修改方法1:
把以上函數寫成一個函數,這里命名為change(),然后這樣:
? ? ? window.onload = function(){
? ? ? ? ? change(); ? ??}
function change(){?
}
最后在addto函數最后調用change函數
方法2:
直接復制上面代碼到addto函數最后面
Aimeesui 提問者
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答添加行為什么鼠標滑過沒有背景顏色
3 回答鼠標經過改變背景顏色問題
1 回答鼠標移到不同行時背景色改變?
4 回答為什么我新添加的行,鼠標滑過是顏色不變?
1 回答為什么行不隨著鼠標的移動而改變背景顏色
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-01
因為你沒給添加的行設置鼠標劃過的事件。下面這幾句就是給節點添加鼠標劃過事件的函數(只有初始化時使用到,所以只有一開始三行有反應)
? ? ? ? ? var trs = document.getElementsByTagName('tr');
? ? ? ? ? ? for(var i=1,l=trs.length;i<l;i++){
? ? ? ? ? ? trs[i].onmouseover=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#ccc";
? ? ? ? ? ? }
? ? ? ? ? ? trs[i].onmouseout=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#fff";
? ? ? ? ? ? }
修改方法1:
把以上函數寫成一個函數,這里命名為change(),然后這樣:
? ? ? window.onload = function(){
? ? ? ? ? change(); ? ??}
function change(){?
? ? ? ? ? var trs = document.getElementsByTagName('tr');
? ? ? ? ? ? for(var i=1,l=trs.length;i<l;i++){
? ? ? ? ? ? trs[i].onmouseover=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#ccc";
? ? ? ? ? ? }
? ? ? ? ? ? trs[i].onmouseout=function(){
? ? ? ? ? ? ? ? this.style.backgroundColor="#fff";
? ? ? ? ? ? }
}
最后在addto函數最后調用change函數
方法2:
直接復制上面代碼到addto函數最后面