在这里我找到了一个循环(递归函数)延迟的例子,并用于它自己的目的。问题是,成功添加div我需要停止循环,但这里是递归函数,所以break会引发错误。如何停止功能
我想是这样的:
(function myLoop(i){
console.log($("input[name='show']").is(':visible'));
if($("input[name='show']").is(':visible'))
return false;
setTimeout(function(){
$.getScript('index.php?ping=true', function(data){
if(ping){
$('#input').append('<input width="320" type="image" height="240" border="0" src="http://'+url+':'+port+'/?up" name="show">');
}
});
if (--i) myLoop(i);
}, 7000)
})(10);
,但是它停止添加第二个div之后。据我所知,我需要以某种方式使用回调,如果?
UPDATE: 解决刚才添加如果(--i)myLoop(我)自己的问题;到代码
而不是递归,为什么不使用setInterval/clearInterval? – Flash 2012-08-14 07:07:00
请创建一个演示:jsfiddle.net – Diode 2012-08-14 07:08:35