当我试图将clearInterval绑定到一个按钮单击时,我在让它工作时遇到了问题。而且很明显这个功能是自己开始的..。这是我的密码
var funky = setInterval(function() {
alert('hello world');
}, 2000);
$('#start').click(function() {
funky();
});
$('#stop').click(function() {
clearInterval(funky);
});
发布于 2016-03-15 21:07:28
您忘了添加jquery
库并做了错误的分配,它需要在回调函数中。
工作实例:
var funky;
$('#start').click(function() {
funky = setInterval(function() {
alert('hello world');
}, 2000);
});
$('#stop').click(function() {
clearInterval(funky);
});
<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>
发布于 2016-03-15 21:06:09
首先,是的,当您将一个变量赋值给一个函数时,它会自动调用。
其次,您的单击事件无法工作,因为您需要将时间间隔分配给单击上的变量,而不是调用该函数--如果您查看开发人员控制台,就会看到没有要调用的函数。
最后,在document函数中包装jQuery代码是很好的做法,以确保所有事件处理程序都得到正确绑定。
$(function () {
var funky;
$('#start').click(function() {
funky = setInterval(function() {
alert('hello world');
}, 1000);
});
$('#stop').click(function() {
clearInterval(funky);
});
});
发布于 2016-03-15 21:05:24
你存错值了。试试这个:
var funky = function() {
alert('hello world');
}
var funkyId = setInterval(funky, 2000);
$('#start').click(function() {
funky();
});
$('#stop').click(function() {
clearInterval(funkyId);
});
https://stackoverflow.com/questions/36022067
复制相似问题