我的问题是我无法停止计时器。
我从这个论坛中获取了一个方法来设置超时。它应该把标识符存储在全局变量中。但是,偶然发现在隐藏“mydiv”后它仍在运行。
我现在还需要知道递归函数是否为超时创建多个实例,还是只创建一个实例。因为一开始我认为每次都会覆盖“var mytimer”。现在我不太确定了。
有什么可靠的方法可以停止计时器吗?
var updatetimer= function () {
//do stuff
setTimeout(function (){updatetimer();}, 10000);
}//end function
//this should start and stop the timer
$("#mybutton").click(function(e) {
e.preventDefault();
if($('#mydiv').is(':visible')){
$('#mydiv').fadeOut('normal');
clearTimeout(updatetimer);
}else{
$('#mydiv').fadeIn('normal');
updatetimer();
}
});
谢谢,Richard