2010-02-12 79 views
3

我想知道顯示'加載'gif到特定jquery ajax請求的最簡單方法。使用jquery ajax時顯示「加載」的最簡單方法是什麼?

我曾嘗試:

$(document).ajaxStart(function() { 
    $('.hideOnLoad').hide(); 
}); 
$(document).ajaxStop(function() { 
    $('.hideOnLoad').show(); 
}); 

但後來所有的Ajax請求將觸發它。我只想要一個特定的jquery ajax請求來觸發加載過程(也許會顯示一個gif)。

我該怎麼做?

回答

7

beforeSend回調你必須顯示微調,並在complete你必須隱藏它。僅供參考:ajaxStartajaxStop是全球ajax事件,而beforeSendcomplete是本地。

+0

在哪裏可以閱讀有關beforeSend並完成jquery在線文檔?我無法找到它.. – ajsie 2010-02-13 09:28:25

+1

關注此鏈接http://docs.jquery.com/Ajax_Events – 2010-02-13 14:01:26

1

我平時做這樣的事情

$('#someTrigger').click(function(el) { 
    // do my ajax request with callback, onComplete 
    $('.someImageClass').show(); 
}); 

function onComplete(resp, respText, XMLHttpRequset) { 
    // do stuff 
    $('.someImageClass').hide(); 
} 
0

集容器的內容以GIF圖像。然後執行Ajax調用。 GIF圖像將被Ajax回調函數刪除。

1

只需在啓動ajax調用之前顯示圖像,然後在您的ajax「成功」或「完成」處理程序中隱藏它。

0

我傾向於做線沿線的東西:

$('#some-div').addClass('loading'); 

當我開始和

$('#some-div').removeClass('loading'); 

當我完成了。然後我有

#some-div { 
    background: transparent url('ajazz-loader.gif') no-repeat center center; 
} 

在我的CSS。很好,很乾淨。

相關問題