无法停止循环功能

时间:2013-02-15 19:02:01

标签: javascript settimeout

我正在尝试停止循环功能,但它无法正常工作

function ref(){
  var iin=setTimeout(ref,1000);
}

$('#start').click(function(){ ref(); });    
$('#stop').click(function(){clearTimeout(iin);});

2 个答案:

答案 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);});