如何在 jquery 中停止我的动画?

How do I stop my animation in jquery?

我正在 javascript 制作游戏。我有一个滚动背景。我试图在使用 (#thingo).stop 暂停游戏时停止动画。但是它不起作用。

我用来制作动画的代码是:

  (function bgScroll() {
      $('#background').css('left', 0);
      $('#background').css('top', 0);
      $('#background').animate({backgroundPosition: '-=10'}, 20, bgScroll);
  })();

然后我用它来尝试阻止它,但是它不起作用。

  $('#background').stop();

谢谢

您可以使用布尔标志来确定是否再次调用 .css().animate() 和相同的函数

  $('#background').data("stop", false);

  (function bgScroll() {
    if (!$("#background").data("stop")) {
      $('#background').css('left', 0);
      $('#background').css('top', 0);
      $('#background').animate({backgroundPosition: '-=10'}, 20, bgScroll)
    };
  })();

  $('#background').data("stop", true).stop();