0

我正在尝试停止循环功能,但它不起作用

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

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

2 回答 2

5

在事件处理程序iin中无法访问您的变量。click您应该使其全局可访问

var iin;
function ref(){
    iin = setTimeout(ref,(scdy/2)-100);
}

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

$('#stop').click(function(){ clearTimeout(iin); });
于 2013-02-15T19:03:16.840 回答
3

您必须在函数之外拥有变量。称为全局变量。并将其分配到您的函数中,如下所示:

var timer;
function go(){
/// STUFF
timer=setTimeout(some_function, 1000);
}

$('#start').click(function(){go();});

$('#stop').click(function(){clearTimeout(timer);});
于 2013-02-15T19:04:03.333 回答