Javascript 动画间隔

Javascript 动画间隔,javascript,jquery,Javascript,Jquery,我用间隔和动画制作了一个左右移动的正方形。 我不明白我怎样才能停止这段时间也许有人能帮我。 这是代码 $(document).ready(function () { var Right = true; var div = $("div"); var Inter; $("#Start").click(function () { Inter = setInterval(function () { if (Right) {

我用间隔和动画制作了一个左右移动的正方形。 我不明白我怎样才能停止这段时间也许有人能帮我。 这是代码

$(document).ready(function () {
    var Right = true;
    var div = $("div");
    var Inter;

    $("#Start").click(function () {
        Inter = setInterval(function () {
            if (Right) {
                Right = false;
                div.animate({
                    left: '900px'
                }, "slow")
            } else {
                Right = true;
                div.animate({
                    left: '0px'
                }, "slow")
             }
      });
   });

   $("#Stop").click(function () {
    clearInterval(Inter);
   });
});

您需要使用
setInterval
指定时间间隔。没有它,您的间隔将不会被定义为浏览器通常有一个最小和强制的间隔要求。例如:

$(document).ready(function() {
    var Right = true;
    var div = $("div");
    var Inter;

    $("#Start").click(function() {
      Inter = setInterval(function() {
        if(Right) {
            Right = false;
            div.animate({left:'900px'},"slow");
        } else {
            Right = true;
            div.animate({left:'0px'},"slow");
        }
      }, 500);
    });

    $("#Stop").click(function() {
        clearInterval(Inter);
    };
});
或者,如注释中所述,您可以使用
div.stop()
停止动画;看起来是这样的:

$("#Start").click(function() {
  if(Right) {
      Right = false;
      div.animate({left:'900px'},"slow");
  } else {
      Right = true;
      div.animate({left:'0px'},"slow");
  }
});

$("#Stop").click(function() {
    div.stop();
};

clearInterval
不起作用还是什么?显示html代码或发布指向JSFIDDLE的链接
setInterval
Inter
中指定的任何时间间隔都不会被定义
div.stop()
这是我的HTML代码:
code
Start-stop如果使用jquery-element.animate,则不需要设置间隔。使用element.stop代替真棒,很高兴听到!确保您在我的答案下打勾接受它。:-)