あなたが何をしようとしているのかはわかりませんが、このコードが行うことは、あなたが言うように、管理不能になるまで、同時に実行される関数の数を増やすことです. リクエストに 5 秒以上かかる場合 (多くのページがフェッチされて高負荷が発生している場合に発生する可能性があります)、いつでも複数の読み込みが進行中であることになります。
編集: 質問者は、「5 秒ごとに div を更新」したいと考えています。
これが機能しない理由は、更新が瞬時に行われず、時間がかかるためです。しかし、ループはそれを尊重せず、読み込みにどれだけ時間がかかっても 5 秒ごとに更新されます。これは、どの時点でもネットワークが ajax リクエストと のいずれかで応答する可能性があることを意味し、一度fadeIn
に 2 つfadeIn
の が実行される可能性があります。
これを修正するために、別のリクエストの を設定する前に ajaxload
とfadeIn
が完了するまで待ちます。timeOut
var refresh = function() {
$('#holder').fadeOut('slow').load('index.php').fadeIn("slow",
function(){setTimeout(refresh,5000)});
}
refresh();