2008-11-29 99 views
2

我正在使用jquery和getJSON方法,我想知道是否有方法顯示加載之前加載我的內容的消息。我知道jquery ajax調用之前有提交回調,你可以有東西,但getJSON只有三個選項。顯示「加載」消息的方法

任何想法?

回答

7

有自定義.ajax「之前」和「成功」事件,你可以觸發。

但是通常情況下,你只需做一些像


    showLoadingAnimation(); 
    $.getJSON( ..... function(){ 
     dontShowLoadingAnimation(); 
    });

或類似的東西。

然而,你的問題有些微不足道,它很難確定你想要做什麼,你不能簡單地用javascript來完成。

5

您可以使用jQuery對象上的ajaxSendajaxStop附加適當的事件處理程序,如this tutorial。無論請求的類型如何(所有的jQuery AJAX和JSON方法),這都會調出進度指示器,並在發生錯誤時隱藏加載圖形。

+0

這些工作與getJSON?該教程幫助...感謝鏈接。 – Coughlin 2008-11-29 22:07:44

+0

我沒有測試過它,但是因爲在他們的核心jQuery.ajax和jQuery.getJSON只是調用它應該具有默認值的jQuery.get。 – 2008-11-29 22:33:25

9

這個地方添加到您的網頁:

<div id="loading" style="display:none"> 
    <img src="/images/ajax-loader.gif" alt="Loader" />&nbsp;Loading... 
</div> 
<script type="text/javascript"> 
    $().ready(function() { 
     $("#loading").bind("ajaxSend", function() { 
      $(this).show(); 
     }).bind("ajaxComplete", function() { 
      $(this).hide(); 
     }); 
    }); 
</script> 

,只要你喜歡,如谷歌郵件類加載器你可以風格的架格:

#loading 
{ 
    position:fixed; 
    _position:absolute; 
    top: 0; 
    left:47%; 
    padding:2px 5px; 
    z-index: 5000; 
    background-color:#CF4342; 
    color:#fff; 
} 
0

肯特,

東西就像那樣會工作,只需顯示一個帶顯示文本Loading ...的simpling div元素,然後顯示我的JSON結果。

Ryan