和老师的代码几乎一样,为什么我的不能缩回来?

来源:4-1 JS多物体动画

WengWang

2016-10-18 21:31

<!DOCTYPE html>

<html>

<head>

  <meta charset="utf-8">

  <title>多物体运动</title>

  <style type="text/css">

   

    li{height: 150px;width:150px;background: #ccc;margin:30px;list-style: none;}

  </style>

  <script type="text/javascript">

  window.onload=function(){

  var aLi=document.getElementsByTagName("li")

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

  aLi[i].timer=null;

  aLi[i].onmouseover=function() {

  moveFun(this,400);

  }

  aLi[i].onmouseout=function() {

  // body...

  moveFun(this,400);

  }


  }


   

  }


  function moveFun(obj,iTarget){

 

  clearInterval(obj.timer);

  obj.timer=setInterval(function(){

  var speed=(iTarget-obj.offsetWidth)/8;

  speed=(speed>0)?Math.ceil(speed):Math.floor(speed);

  if(obj.offsetWidth==iTarget){

  clearInterval(obj.timer);

  }

  else {

  obj.style.width=obj.offsetWidth+speed+'px';

  }

 

  },30)


  }


  </script>


</head>

<body>



<ul>

<li></li>

<li></li>

<li></li>

</ul>



</body>

</html>>


写回答 关注

1回答

  • ltinyho
    2016-10-19 09:24:57
    已采纳

      aLi[i].onmouseout=function() {

      // body...

      moveFun(this,400);

     因为你鼠标移出的时候目标值还是400,移入的时候已经达到400了,当然移出的时候不会变了

    WengWa...

    非常感谢!

    2016-10-19 14:03:59

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题