2013-02-25 109 views
5

這是我的第一個問題,所以希望我會給予足夠的細節。我有4頁下面的代碼在網站上:jQuery,僅當頁面加載時間超過2秒才顯示加載頁面div

$(document).ready(function() { 
    $('#page_loading').slideDown(500); 
}); 

jQuery(window).load(function() { 
    setTimeout(function() {$('#page_loading').slideUp(500);}, 1500); 
}); 

我是誰我想實現:只有當頁面需要在瀏覽徹底的4頁,有#page_loading DIV滑下超過2秒加載。如果頁面加載時間少於2秒(之前訪問過,並且大部分圖像被緩存),那麼加載div將不會顯示。

在這一點上,即使頁面加載不到一秒鐘,加載div仍然會出現並消失,這很煩人。

謝謝你,克里斯蒂安。

+0

使用'setTimeout'來延遲slideDown兩秒;兩秒後檢查是否仍然應該滑下。 – 2013-02-25 15:06:02

+0

這將在1500毫秒後調用 – PSR 2013-02-25 15:06:08

+0

那麼,這實際上是一個問題,我如何檢查頁面是否在2秒後完全加載,並且如果已加載,則什麼也不做。如果未加載,請向下滑動加載div,該加載div應該等待頁面加載,然後從視圖中向上滑動。 – 2013-02-25 15:26:00

回答

3

這會做詭計嗎?

var showTimeout = setTimeout(function() { 
    $('#page_loading').slideDown(500); 
}, 2000); 

jQuery(window).load(function() { 
    clearTimeout(showTimeout); 
    $('#page_loading').slideUp(500); 
}); 
+0

完美工作,謝謝! – 2013-02-25 16:09:51