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

如何getElementsByTagName()函数获得的数组传this??

如何getElementsByTagName()函数获得的数组传this??

Phan_Tom 2016-05-24 14:55:08
   有3个<img>标签   用:  var imgs=document.getElementsByTagName('img')获得了一个数组     然后想用onmouseover改变它的透明度    for(var i=0;i<imgs.length;i++){     imgs[i].onmouseover=startMove(this,100) ;      }      就是上面加粗倾斜的那一部分,需要获得每一个imgs[i]的opacity属性,所以想着传每一个的this,在函数中用this.style.opacity,但是操作中无法实现。    求指教!
查看完整描述

3 回答

已采纳
?
yeheyt

TA贡献12条经验 获得超4个赞

  1. 把mouseover事件委托给img的父元素 

  2. function getAttr(obj,attr){
    	return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,null)[attr];
    }

    用上面这个获取当前的opacity

查看完整回答
3 反对 回复 2016-05-24
?
甫里

TA贡献10条经验 获得超3个赞

for遍历是个坑。你现在的This应该指的是imgs[imgs.length-1]这个对象。而不是每个img对象,

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

    img[i].this=this;
     imgs[i].onmouseover=startMove(this,100) ;  

    }

这样应该可以了~你可以试试

查看完整回答
反对 回复 2016-05-26
  • 3 回答
  • 0 关注
  • 2116 浏览
慕课专栏
更多

添加回答

举报

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