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

求解:多物体动画没有效果

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
   <script>
window.onload=donghua;
function donghua(){
           var duix=document.getElementsByTagName("div");
for(var i=0;i<duix.length;i++){
               duix[i].style.width=100+"px";
duix[i].style.border="1px solid red";
duix[i].style.height="100px"
duix[i].onmouseover=move(this);
}}
       var timer=null;
function move(xx){
           clearInterval(xx.timer);
xx.timer=setInterval(function(){
               var cc= parseInt(xx.offsetWidth);
if(cc<200){
                   cc++;
}
               xx.style.width=cc+"px";
},10)
       }
   </script>
</head>
<body>
<div>动画测试一</div>
<div>动画测试二</div>
<div>动画测试三</div>
</body>
</html>

正在回答

1 回答

<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>Title</title>
   <script>
  window.onload=function(){
    donghua();
  }
  function donghua(){
    var duix=document.getElementsByTagName("div");
    for(var i=0;i<duix.length;i++){
      duix[i].style.width=100+"px";
      duix[i].style.border="1px solid red";
      duix[i].style.height="100px"
      duix[i].onmouseover=function(){
        move(this);
      }
    }
  }
  var timer=null;
  function move(xx){
    clearInterval(xx.timer);
    xx.timer=setInterval(function(){
      var cc= parseInt(xx.offsetWidth);
      if(cc<200){
         cc++;
      }
      xx.style.width=cc+"px";
    },10)
  }
  </script>
</head>
<body>
<div>动画测试一</div>
<div>动画测试二</div>
<div>动画测试三</div>
</body>
</html>

更改后的代码,更改有两点:

  window.onload=function(){
    donghua();
  }


      duix[i].onmouseover=function(){
        move(this);
      }

之前的形式无法正确调用函数!

但是这样的代码跑了之后 就会发现,width会一直增长下去,原因在视频里也提到了,是border的问题,你设置的是cc++,但是每次增长的是3px。改正的方法可以按照视频里提到的,也可以把width的设置放在cc判断的里面(效果是没有前面的方法好,而且依旧是每次增加3px)。

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

慕仰1571740 提问者

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

举报

0/150
提交
取消

求解:多物体动画没有效果

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