2009-09-16 9 views
9

私はロード機能を持っており、ロード中にdivにHTMLを書き込んだり、完了したらページを表示したりします。私は、ajaxStartイベントとajaxCompleteイベントについて少し書いてみましたが、実装する方法がわかりません。ここでjqueryを呼び出す方法ajaxStart + ajaxComplete

は私が現在持っているコード内で実装する方法がわからないしかし、使用を考えていますjqueryのである...ここで

$(document).ajaxStart(function(){ 
    $('#content').html("Loading Content..."); 
    }); 

は、私が使用している現在のjQueryのです:

//Load content 
$(".load").click(function(){ 
    $("#content").empty();   
    loadName = $(this).attr("id"); 
    $("#content").load("/content/" + loadName + ".php"); 
    }); 

答えて

17

1つのdivで、内容を読み込みメッセージ/インジケータで更新したい場合は、次のようにします:

$("#content").html('<strong>Loading...</strong>') 
      .load("/content/" + loadName + ".php"); 

すべての ajaxが共通のローディングインジケータを持っていない限り、私はajaxStartajaxStop/ajaxCompleteglobal eventsを使用しません。それは次のようにそれを行うことができ、言った:loading要素を使用して、AJAX呼び出しの間に明らかにしたいものは何でもある

$("#loading").bind("ajaxStart", function(){ 
    $(this).show(); 
}).bind("ajaxStop", function(){ 
    $(this).hide(); 
}); 

+0

場合によってはコンテンツが非常に高速に読み込まれ、Loading ...というメッセージが表示されなくなることもあります。ユーザーは何かが表示されるように、時間間隔を設定します。 – defau1t

関連する問題