在這裏我找到了一個循環(遞歸函數)延遲的例子,並用於它自己的目的。問題是,成功添加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