<!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 ,
修改完成即可, 不懂 可百度其各个用法
添加回答
举报
0/150
提交
取消