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

再请教一个问题,关于鼠标事件。。。。。。

再请教一个问题,关于鼠标事件。。。。。。

慕粉3926413 2016-09-11 10:17:08
var div=document.getElementsByTagName("div");//获取html的div元素,总共四个    function vs(a,b){        a=document.createElement("div");创建一个div作为body的子元素,且用了绝对定位,距左边的边距为变量b        document.body.appendChild(a);        a.style="position:absolute";        a.style.left=b;        a.style.top="10px";        return a;    }    var c=40;//遍历在四个div的鼠标悬浮事件,可是距左边的距离我设置的是一直变化的,可是显示出来却没有发生变化,不知是什么原因???????    for(var i=0;i<4;i++){            div[i].onmouseover=function(){               this.style.backgroundColor="yellow";               var b=vs("my",c+c*i+"px");           }    }
查看完整描述

2 回答

?
stone310

TA贡献361条经验 获得超191个赞

  var b=vs("my",c+c*i+"px")

因为for循环在页面加载时已经完毕了,这里的i值固定为4,所以会没有变化,将i值保存到div[i]的index属性上

    for(var i=0;i<4;i++){ 
    var div[i].index=i;
           div[i].onmouseover=function(){
               this.style.backgroundColor="yellow";
               var b=vs("my",c+c*this.index+"px");
           }
    }

这样写试试

查看完整回答
1 反对 回复 2016-09-11
  • 2 回答
  • 0 关注
  • 1041 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信