javascript - 如何在 jQuery 中停止以下 setInterval()

标签 javascript jquery

下面的代码将图像从屏幕顶部移动到底部。我希望此 setInterval() 函数停止一次 y==-100 但我不确定如何...

var image = $('.background');
var y = 0;
setInterval(function() {
  if (y == -100) {
    //don't know what to add here
  }
  image.css('background-position', '0 ' + y + 'px');
  y--;
}, 100);

我想我需要使用 clearInterval 但我不知道要返回什么。

最佳答案

您需要存储 setInterval 的返回值,然后您可以将其传递给 clearInterval。返回值是对时间间隔的不透明引用,因此您不应该将它用于任何其他用途。

var image = $('.background');
var y=0;
var interval = setInterval(function(){
  if(y == -100) {
      clearInterval(interval);
  }
  image.css('background-position', '0 ' + y + 'px');
  y--;
}, 100);

关于javascript - 如何在 jQuery 中停止以下 setInterval(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34365355/

相关文章:

javascript - 无法通过 Parse Facebook 登录获取用户的电子邮件

javascript - JS日期格式及日期比较

javascript - 删除元素上的事件监听器的最佳方法是什么?

jquery - Firefox 24 不适本地将 css 应用于动态内容

javascript - Angular 2 生命周期钩子(Hook)未调用(ES5 javascript)

javascript - 数组引用未清除

javascript - jQuery 方法无法将数据传递到 REST 服务器

javascript - Safari 不读取 Jquery 表单提交上的提交按钮值

jQuery 验证,但仅在初次提交之后

javascript - $(document.body).on ('change' , '.someclass' , function () {});不起作用