2013-02-01 22 views
0

的偉大工程,我有這樣的代碼試圖讓加載圖像調用一個AJAX功能時顯示 - 在Firefox

<script> 
$(document).ready(function() { 
    $('#loading').hide().ajaxStart(function() { 
      $(this).show(); 
     }).ajaxStop(function() { 
      $(this).hide(); 
     }); 
}); 
</script> 

當我開始執行一個AJAX調用正在取得一個動作,加載圖像顯示並開始旋轉,但在該AJAX調用中,我調用了多個其他AJAX調用,並且根據瀏覽器加載的圖像顯示不同的行爲。

Firefox =按預期工作。當我執行執行AJAX的動作時,它會顯示加載圖像,直到AJAX調用完成。

谷歌Chrome =開始工作,加載圖像加載,但一旦其他AJAX調用執行(從最初一個,在成功階段),加載圖像凍結,不再動畫。

IE9/Safari =只是不渲染加載圖像。

我希望其他瀏覽器像Firefox一樣工作。任何想法,爲什麼這可能會發生?

+0

For循環和同步調用可以鎖定渲染。 – epascarello

+0

不知道它是否太重要,我仍然試圖包裝我的頭如何異步工作,但我的AJAX調用有「異步:錯誤」,因爲一些依賴另一個,我可能需要他們執行特定的順序。 – envinyater

+0

這是一個壞主意「異步:錯誤」被折舊。我建議你們採取不同的方法。如果它沒有顯示,每次進行ajax調用時,我都會顯示您的加載圖像。然後在ajax的成功中,隱藏它。如果您需要您的ajax按特定順序執行,那麼您應該將ajax調用放在文檔上,然後在每個成功處理函數中調用隊列的下一個方法。然後,作爲隊列中的最後一個條目,您將隱藏加載圖像。 –

回答

0

所以是的,這個問題肯定是異步:錯誤,謝謝大家。

相關問題