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

看下面代码,执行不了startMove函数

看下面代码,执行不了startMove函数

浅水了 2015-07-26 14:15:45
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style>div{width:100px;height:100px;background-color:red;margin:10px;float:left;filter:alpha(opacity:30);opacity:0.3}</style><script>/*offsetWidth和border一起使用时的BUG如何解决*/function getStyle(obj,name){ if(obj.currenStyle){ return obj.currtnStyle(name); }else{ return obj.getComputedStyle(obj,false)[name]; } }function startMove(obj,attr,iTaret){ var cur=parseInt(getStyle(this,attr)); clearInterval(obj.timer); obj.timer=setInterval(function(){ var speed=(iTaret-cur)/6; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(cur==iTaret){ clearInterval(obj.timer); }else{ obj.style[attr]=cur+speed+'px'; } },30) }window.onload=function(){ var oDiv=document.getElementsByTagName('div'); for(var i=0;i<oDiv.length;i++){ oDiv[i].timer=i; oDiv[i].onmouseover=function(){ startMove(this,width,400); } oDiv[i].onmouseout=function(){ startMove(this,width,100); } } } </script></head><body><div></div><div></div><div></div><div></div></body></html>
查看完整描述

1 回答

?
杰杰就是我

TA贡献32条经验 获得超24个赞

第一个错误  startMove(this,width,400);  width 传参错误,应该为字符串类型   ==> startMove(this,'width',400);

第二个错误  对于this理解不清楚   startMove方法中  getStyle(this, attr)  改为  getStyle(obj,attr)

第三个错误 getComputedStyle(obj, false)[name];  前边不需要加上obj ,

修改完成即可,  不懂 可百度其各个用法

查看完整回答
反对 回复 2016-12-07
  • 1 回答
  • 0 关注
  • 2144 浏览
慕课专栏
更多

添加回答

举报

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