2011-03-25 240 views
6

我需要一個進度輪節目的同時,大量的數據庫和第三方捲曲查詢正在同時等待用戶做出。顯示進度輪,而頁面加載

如果進度輪秀本身向右走,或者我應該顯示它一旦頁面模板(而不是內容)中加載?

我應該表現出的進步輪,直到頁面的HTML/JavaScript的加載完成時,或當PHP加載完成?

如果你能在原始代碼大多數人如何做這個節目,那簡直太好了。我使用jQuery,這是一個PHP網站。

回答

3

顯示進度條,直到,PHP響應(返回的值可以是一個HTML)沒有被加載到的JavaScript。

「我應該表現出的進步輪,直到 頁面的HTML/JavaScript是做 裝載,或者當PHP做 裝?」

是這種方法

加載完成後,使用jQuery隱藏負載,並把內容到容器類。

<div class="loading"> 
</div> 
<div id="container"> 
</div> 



$('.loading') 
    .hide() // hide it initially 
    .ajaxStart(function() { 
     $(this).show(); 
    }) 
    .ajaxStop(function() { 
     $(this).hide(); 
    }); 
+0

哪一個?當PHP完成或HTML/JavaScript完成渲染時?直到, – babonk 2011-03-25 02:09:52

+0

顯示進度條,php響應(返回值)未加載到javascript中。 – 2011-03-25 02:14:59

2

這是一個非常共同技術和過程是相當標準的。只有在即將發出請求時纔會顯示圖形。這意味着將圖形設置爲在CSS中不顯示任何內容。這比使用JavaScript來提高兼容性和性能的原因要好得多。

你可以在這裏看到我已經創建了一個加載圖形,添加到jQuery中,並綁定了一個異步事件發生在任意點擊。該圖形示出了由該連接之前,然後隱完成請求時。您使用完整的情況下,響應錯誤了。

<head> <style> .slider { display: none; }</style> </head> 
<body> 
    <div class="slider"><img src="someslidergraphic.gif"></div> 

    <script src="http://code.jquery.com/jquery.js"></script> 
    <script> 
    jQuery(function($) { 
     // The animation slider cached for readability/performance   
     var slider = $(".slider"); 

     // Arbitrary event  
     $("body").bind('click', function() { 
     // Show graphic before ajax 
     slider.show(); 

     // Fetch content from PHP 
     $.ajax({ 
      // Setings 
      ... 
      'complete': function() { 
      // Hide during complete 
      slider.hide(); 

      // Rest of code after request 
      ... 
      } 
     }); 
    }); 
    </script> 
</body> 
相關問題