2011-09-16 28 views
0

我試圖預加載整個網站使用此腳本:預緊使用AJAX

<script> 
    $(function() { 
    $('#body').addClass("none"); 
    $('#load').ajaxStart(function() { 
    $(this).show(); 
    }).ajaxStop(function() { 
    $(this).hide(); 
    }); 
    $('#body').removeClass("none"); 
}); 
</script> 

我的身體有一類「無」,這基本上是一個顯示:無。 #load是我明顯的加載div。看起來好像有一個實際運行的問題,因爲#load顯示了整個時間,當它完成加載時並沒有真正擺脫它自己。

任何想法?

+0

你能更詳細地解釋你到底想要完成什麼嗎? – Paragon

+0

只是預加載頁面,或者只是在頁面加載完之前顯示加載div(#load)?它基於ajax調用,如果高於這個值就可以,但它不起作用。 –

+0

如果'load' div實際上顯示出來,您的AJAX調用可能並未實際完成,或者頁面上出現javascript錯誤。我建議檢查Firebug(或Chrome版本)並查看AJAX請求,尋找錯誤。 – Paragon

回答

1

我測試了你的代碼,它工作沒有問題。

ajaxStop只有在全部 ajax請求已返回或被取消時纔會被調用。因此你的一個請求必須掛起。另一種可能性是請求引發異常(例如跨域) - 請參閱here)。