我正在尝试停止循环功能,但它无法正常工作
function ref(){
var iin=setTimeout(ref,1000);
}
$('#start').click(function(){ ref(); });
$('#stop').click(function(){clearTimeout(iin);});
答案 0 :(得分:5)
您的变量iin
无法在click
事件处理程序中访问。你应该让它可以全球访问
var iin;
function ref(){
iin = setTimeout(ref,(scdy/2)-100);
}
$('#start').click(function(){ ref(); });
$('#stop').click(function(){ clearTimeout(iin); });
答案 1 :(得分:3)
您必须在函数外部使用变量。称为全局变量。并将其分配到您的函数中,如下所示:
var timer;
function go(){
/// STUFF
timer=setTimeout(some_function, 1000);
}
$('#start').click(function(){go();});
$('#stop').click(function(){clearTimeout(timer);});