0
function load_content(url)  
{
  $('#loading').show();
  $.get(url, function(data) {
    $('#target').html(data); 
    $('#loading').hide();  
  });  
}

次のコードを使用して、別のページから<div>ID ターゲットにコンテンツを読み込みます。コンテンツが読み込まれるまで、ページが応答しなくなるか、スクロールが非常に遅くなります。また、GIF プリローダーはアニメーション化されません。method の使用中に同じ問題が発生しました.load()。私のコードに悪い習慣はありますか? または、この問題を克服する方法は?

しかし、このサイトhttp://www.behance.net/では、スクロール時のコンテンツの Ajax ロードはスムーズです。同じことを達成する方法は?

特にChromeでこれに直面しています。IEもfirefoxも、思った通りスムーズです。

4

1 に答える 1

0

jQuery のメソッド.ajaxStart()とメソッドを試す必要があります。.ajaxComplete()

function load_content(url){
   $(document).ajaxStart(function(){
       $('#loading').show();
   });

   $.get(url, function(data) {
       $('#target').html(data);
   });

   $(document).ajaxComplete(function(){
       $('#loading').hide();
   });

 }

.ajaxStart()

Ajax リクエストが送信されようとしているときはいつでも、jQuery は他に未解決の Ajax リクエストがあるかどうかをチェックします。進行中のものがない場合、jQuery は ajaxStart イベントをトリガーします。この時点で、.ajaxStart() メソッドで登録されたすべてのハンドラーが実行されます。

ドキュメントの .ajaxStart()

.ajaxComplete()

Ajax リクエストが完了するたびに、jQuery は ajaxComplete イベントをトリガーします。この時点で、.ajaxComplete() メソッドで登録されたすべてのハンドラーが実行されます。

ドキュメントからの .ajaxComplete()

于 2013-03-31T15:38:50.267 に答える