为了账号安全,请及时绑定邮箱和手机立即绑定

变色为什么要嵌套才行了,直接写没效果呢

      window.onload = function(){
      var tr = document.getElementsByTagName("tr");

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

              bgChange(tr[i]);

          }

   

  }

 // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

     function bgChange(a) {

         a.onmouseover=function()

         {

         a.style.backgroundColor="#f2f2f2";

         }

        a.onmouseout=function()

         {

         a.style.backgroundColor="#fff";

         }

 }


    

正在回答

4 回答

你这样写就可以了

var tr = document.getElementsByTagName("tr");

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

   

           tr[i].onmouseover=function()

             {

                this.style.backgroundColor="#f2f2f2";

             }

         tr[i].onmouseout=function()

             {

                this.style.backgroundColor="#fff";

             }

  }


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

问题出在onmouseover=function(),这样写就相当于当onmouseover时,执行下function()里的代码,并不是给tr[i]的事件绑定方法

你试下直接在里面输出i,发现无论你移动到哪一条,i的值都不会变

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

window.onload = function(){
      var tr = document.getElementsByTagName("tr");

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

           tr[i].onmouseover=function()

         {

         a.style.backgroundColor="#f2f2f2";

         }
         tr[i].onmouseout=function()

         {

         a.style.backgroundColor="#fff";

         }

    }
 

  }

 

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

应该是可以的,你直接写没有效果,可能是你定错了,可以把你说的没有效果的代码发出来看看

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

whh168 提问者

window.onload = function(){var tr = document.getElementsByTagName("tr");for (var i=0;i<tr.length; i++) { tr[i].onmouseover=function(){a.style.backgroundColor="#f2f2f2"; } tr[i].onmouseout=function(){a.style.backgroundColor="#fff";}}}
2015-02-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

变色为什么要嵌套才行了,直接写没效果呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信