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

麻烦大家帮忙看看为什么总是报错 Uncaught ReferenceError: attr is not defined

<!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 type="text/css">

*{padding:0;margin:0}

div{width:200px;

      height:80px;

 background:#FF3;

/*filter:alpha(opacity:30);*/

 opacity:0.3;

 margin:20px 0;

 

}

</style>

<script type="text/javascript">

window.onload=function(){

var div1 = document.getElementById('div1');

var div2 = document.getElementById('div2');

div1.onmouseover=function(){

startMove(div1,{width:400,height:160})

}

div1.onmouseout=function(){

  startMove(div1,{width:200,height:80})

}

}

/*var exm =document.getElementsByTagName('div');

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

{

  exm[i].timer=null;

  exm[i].onmouseover=function(){

 startMove(this,'width',400);}

  exm[i].onmouseout=function(){

 startMove(this,'width',200);}

}

}*/

function getStyle(obj,attr){

if(obj.currentStyle){

return obj.currentStyle[attr];}

else

{return getComputedStyle(obj,false)[attr];} 

}

  function startMove(obj,json){

 clearInterval(obj.timer);

 var iCur=parseInt(getStyle(obj,attr));

 obj.timer=setInterval(function(){

  for(var attr in json){

 var speed=0;

 if(json[attr]>iCur)

 {speed=Math.ceil((json[attr]-iCur)/8);}

 else if(json[attr]<iCur)

 {speed=Math.floor((json[attr]-iCur)/8);}

      if(iCur==json[attr])

 {clearInterval(obj.timer);}

 else

{obj.style[attr]=iCur+speed+'px';}

}

},30)

}

</script>


</head>


<body>

<div id="div1">

</div>

<div id="div2">

</div>

<div id="div3">

</div>

</body>

</html>


正在回答

3 回答

把  var iCur=parseInt(getStyle(obj,attr));   放在for循环里试试 

你的attr是在for循环里定义的

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

和光 提问者

非常感谢!
2016-03-31 回复 有任何疑惑可以回复我~

没有定义,肯定报错啊

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

和光 提问者

但是我看视频里面就是这样的,没有单独处理呀,能提供不报错的代码吗?
2016-03-30 回复 有任何疑惑可以回复我~

var iCur=parseInt(getStyle(obj,attr));的attr哪里来的

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

举报

0/150
提交
取消

麻烦大家帮忙看看为什么总是报错 Uncaught ReferenceError: attr is not defined

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