ここで、ループ (再帰関数) 遅延の例を見つけ、独自の目的で使用しました。問題は、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);
ただし、2番目のdivが追加された後にのみ停止します。私が理解しているように、どういうわけかifでコールバックを使用する必要がありますか?
更新: 問題を自分で解決しました。if (--i) myLoop(i); を追加しました。取得スクリプトに