2011-07-04 2 views
2

私はWebページの上部に絶対的な位置になる進捗欄を持っています。mvc3 Ajax.ActionLinkとLoadingElementIdの表示が遅れて表示されるのを遅らせる

Ajax.ActionLinkをクリックすると、リクエスト/レスポンスが瞬時に不足しているときに、瞬時にちらつきが表示されることがあります。

遅延を追加して、進行状況バナーが500msに表示されないようにするにはどうすればよいですか?

はここ

は、作業コードが

var showProgress = false; 
function AjaxBegin() 
{ 
    showProgress = true; 
    setTimeout("if (showProgress) { $('#progress').show(); }", 800); 

} 
function AjaxComplete() 
{ 
    showProgress = false; 
    $("#progress").hide(); 
} 
function AjaxFailure(ajaxContext) 
{ 
    var response = ajaxContext.responseText; 
    alert("Error Code [" + ajaxContext.ErrorCode + "] " + response); 
} 

AjaxOptions

InsertionMode = InsertionMode.Replace; 
OnFailure = "AjaxFailure"; 
OnBegin = "AjaxBegin"; 
OnComplete = "AjaxComplete"; 
HttpMethod = "GET"; 

答えて

3

であるあなたはこの自分を処理する必要があります。ありがとうございました。

よりもむしろあなたが上映OnBeginするための関数を指定することによって、あなたの負荷要素の表示/非(それを見せる)とOnComplete(それを隠す)イベントを処理することができAjaxOptions.LoadingElementIdを指定します。

AjaxOptionsの詳細は、http://msdn.microsoft.com/en-us/library/dd460351.aspxを参照してください。

遅延を作成するためのいくつかの方法があります - How to wait 5 seconds with jQuery?

を参照してくださいそしてここでjQueryを使ってそれをしない例だ - delay the showing of a ajax loading gif using jQuery

関連する問題