首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按一下clearInterval键

按一下clearInterval键
EN

Stack Overflow用户
提问于 2016-03-15 21:02:01
回答 4查看 7.8K关注 0票数 3

当我试图将clearInterval绑定到一个按钮单击时,我在让它工作时遇到了问题。而且很明显这个功能是自己开始的..。这是我的密码

代码语言:javascript
运行
复制
var funky = setInterval(function() {
    alert('hello world');
}, 2000);

$('#start').click(function() {
    funky();
});
$('#stop').click(function() {
    clearInterval(funky);
});

这是一把js小提琴

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-15 21:07:28

您忘了添加jquery库并做了错误的分配,它需要在回调函数中。

工作实例:

代码语言:javascript
运行
复制
var funky;

$('#start').click(function() {
  funky = setInterval(function() {
    alert('hello world');
  }, 2000);
});

$('#stop').click(function() {
    clearInterval(funky);
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="start">start</button>
<button id="stop">stop</button>

票数 6
EN

Stack Overflow用户

发布于 2016-03-15 21:06:09

首先,是的,当您将一个变量赋值给一个函数时,它会自动调用。

其次,您的单击事件无法工作,因为您需要将时间间隔分配给单击上的变量,而不是调用该函数--如果您查看开发人员控制台,就会看到没有要调用的函数。

最后,在document函数中包装jQuery代码是很好的做法,以确保所有事件处理程序都得到正确绑定。

代码语言:javascript
运行
复制
$(function () {
  var funky;
  $('#start').click(function() {
    funky = setInterval(function() {
      alert('hello world');
    }, 1000);
  });

  $('#stop').click(function() {
      clearInterval(funky);
  });
});
票数 3
EN

Stack Overflow用户

发布于 2016-03-15 21:05:24

你存错值了。试试这个:

代码语言:javascript
运行
复制
var funky = function() {
    alert('hello world');
}

var funkyId = setInterval(funky, 2000);

$('#start').click(function() {
    funky();
});
$('#stop').click(function() {
    clearInterval(funkyId);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36022067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档