方块来回抽动,求解答

来源:2-1 JS速度动画

懒人一只

2016-03-11 15:10

<div class="hide" id="hide"><div class="hover" id="hover"></div></div>
<style>
  * {margin: 0; padding: 0; }
  .hide {height: 500px; width: 500px; background-color: red; position: absolute; left: -500px; }
  .hover {height: 50px; width: 50px; background-color: blue; position: relative; top: 225px; left: 500px; }
</style>

<script>
  var hide=document.getElementById('hide');
  var hover=document.getElementById('hover');
  var timer=null;
  var startMove=function() {
    clearInterval(timer);
    timer=setInterval(function(){
              if(hide.offsetLeft<0){
                hide.style.left=hide.offsetLeft+10+'px'
              }else{
                clearInterval(timer)
              }},30
    )
  };

  var endMove=function() {
    timer=setInterval(function(){
              if(hide.offsetLeft>-500){
                hide.style.left=hide.offsetLeft-10+'px'
              }else{
                clearInterval(timer)
              }},30
    )
  };

  hover.onmouseover=function() {
    startMove();
  };

  hover.onmouseout=function() {
    endMove();
  };

</script>


写回答 关注

3回答

  • Joeh
    2016-03-11 17:11:48
    已采纳

    hide.offsetLeft<0,hide.offsetLeft>-500


    懒人一只

    已经解决了,用事件冒泡的思想

    2016-03-14 09:18:30

    共 3 条回复 >

  • Joeh
    2016-03-11 17:30:10

    onmouseover和onmouseout绑定在hide元素上

  • Joeh
    2016-03-11 17:05:59

    hide.offsetLeft>-500

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题