2017-05-27 136 views
0

我有一個JavaScript函數需要很長時間來執行計算。我在開始計算之前也會顯示一個GIF,就像進度條一樣。在循環期間GIF動畫停止

我面臨的問題是,即使我將GIF設置爲show(),直到循環結束,它才顯示出來。

下面是完整的代碼:

$(document).ready(function() { 
 
     $('#progress').show(); 
 

 
     while(true){ 
 
      
 
      //calculation 
 
     } 
 
    })
<div id="progress" style="display:none"> 
 
      <img alt="Loading .." src="UILayer/Images/ajax.gif" /> 
 
     </div>

循環結束後的GIF動畫開始。

任何幫助將不勝感激。

感謝

+0

你缺少['jquery'](https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwiGkZjh-I_UAhXBMY8KHdlhA0oQFggrMAI&url=https% 3A%2F%2Fjquery.com%2F&usg = AFQjCNFnz7C6MAXGLm7pVcOD_LrOjJUUiA&sig2 = lCdYSEt9LCw-X5zKscagig)庫鏈接 – prasanth

+0

您是否嘗試過其他一些gif測試? – margarita

+0

你的條件是什麼? –

回答

0

基本上,你的GIF不工作,因爲它是由正在運行的js代碼放緩。

您可以通過嘗試在while循環中放置一些警報來重現它。

這裏有一個相關的問題: How to keep animated gif running while doing intense calculations

+0

把警報可能有助於您在開發過程中向自己保證您已經到達了您期望的程序位置,但它很快會讓普通用戶長時間迴應每一個警報而變得令人不快。 – DavidHyogo

0

我有同樣的問題。我發現setTimeout工作得相當好:

window.setTimeout(function() { 
     //here I call the function or run the loop that 
     //that uses a lot of processing power. 
    }, 100); 

這並不完美。進度動畫運行不順暢,但至少在更長的動作開始之前出現。