javascript - 如何停止这个移动的div

标签 javascript animation html

这是我的 Javascript 函数

    <script type="text/javascript">
    var foo = null; // object
    function doMove() {
      foo.style.left = parseInt(foo.style.left)+1+'px';
      setTimeout(doMove,0); // call doMove in 20msec
      document.getElementById("foo").innerHTML = foo.style.left;
    if(foo.style.left=='100px'){
     alert(foo.style.left);
    }}
    function init() {
      foo = document.getElementById('foo'); // get the "foo" object
      foo.style.left = '0px'; // set its initial position to 0px
      doMove(); // start animating
    }
    window.onload = init;
    </script>
    <div id="foo" style="width:100px;background:#99ccff;position: relative;">I am moving box</div>

最佳答案

检查您是否<div>已达到您需要的终点(例如 100px),如果是这样,请勿调用 setTimeout()不再起作用:

function doMove() {
  foo.style.left = parseInt(foo.style.left)+1+'px';
  document.getElementById("foo").innerHTML = foo.style.left;
  if(foo.style.left=='100px'){
    alert("Finished");
  } else {
    setTimeout(doMove,20); // call doMove in 20msec
  }
}

关于javascript - 如何停止这个移动的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019469/

相关文章:

javascript - 如何使用 javascript 验证文本字段

javascript - Angular 动画类中 Greensock JavaScript 的非平滑补间

iphone - iOS 启动画面淡入淡出缩小之物

CSS3 - 带动画的过渡?

javascript - 选择页面后更改 anchor 标记的 CSS - 单页网站

html - 为什么此文本不在此框中?

javascript - Jest : How to mock a promise on the same file for resolve and reject options?

jquery - 我怎样才能让动画跟随我的光标

html - 标题不会出现在网页上

javascript - 如何在 list v3 Chrome 扩展程序中定期调用函数?