我正在啓動一個移動網站,我希望它在加載所有內容和圖像時有一個加載圖標。加載HTML5
詳情: 我有好幾頁。我希望當我點擊它會加載頁面(到其他html頁面),但我不想顯示沒有完全加載的頁面,並且我想在加載所有內容時顯示加載動畫。一旦內容被完全加載。那麼加載動畫必須隱藏。
如何做到這一點?
我正在啓動一個移動網站,我希望它在加載所有內容和圖像時有一個加載圖標。加載HTML5
詳情: 我有好幾頁。我希望當我點擊它會加載頁面(到其他html頁面),但我不想顯示沒有完全加載的頁面,並且我想在加載所有內容時顯示加載動畫。一旦內容被完全加載。那麼加載動畫必須隱藏。
如何做到這一點?
你需要給出一個更具體的問題來獲得更具體的(有用的答案)。
在這裏同時有一些(希望有用)資源:
http://www.devcurry.com/2009/05/display-progress-bar-while-loading.html
http://jquery-howto.blogspot.com/2009/04/display-loading-gif-image-while-loading.html
http://banagale.com/display-a-simple-loading-message-and-animated-loading-gif-using-javascript.htm
http://yensdesign.com/2008/11/how-to-create-a-stylish-loading-bar-as-gmail-in-javascript/
這其中可能會特別是如果它適用於您的情況:
Showing a div while page is loading, hiding when its done
祝你好運!
任何數量的方式,但你將需要JavaScript。
您可以在網頁的開頭做一個大<div>
,然後在load
事件使用Javascript或在<body>
結束使用非法<style>
塊隱藏它。
當所有的圖片資源都被載入時,你已經準備好了。定義覆蓋整個頁面的全屏div。在這個div中,顯示例如加載微調器動畫GIF和你想要什麼文本。
<html>
<head> .. </head>
<body>
<div id="loader"> .. </div>
<div id="content" style="display:none"> .. </div>
<script> .. </script>
</body>
</html>
在腳本中預加載所有圖像。這確保了它們在需要時處於緩存中。
<script>
var loadc = 0;
function _preload(path) {
var image = new Image;
image.src = path;
image.addEventListener('load', function() {
loadc++;
if (loadc == images.count) {
$("#loader").hide();
$("#hide").show();
}
// update here progress counter on loading div
};
}
var images = [ '/image/some.png', '/foo/bar.png' ]
$(document).ready(function() {
for (var i = 0 ; i < images.length; i++) _preload(images[i]);
});
</script>
您需要images
陣列來定義您希望在顯示內容的div要準備好所有的資產,這包括來自CSS和DOM和可能的動態DOM提到的東西。您可以對其他資產使用相同的方法,例如audio和json。
其實,你不需要Javascript。這是一個無用的答案。 – SLaks 2011-02-16 18:45:27
是的,當然我知道它必須與js。但是如何? – Lewis 2011-02-16 20:09:24
做到這一點的一種方式,gmail如何做到這一點,例如通過漸進式增強。首先加載核心頁面元素,然後使用JavaScript(jQuery),使用簡單的ajax get請求加載較重的元素,該請求僅在dom準備就緒時觸發。它將允許核心內容快速加載,然後在基本界面出現後加載其他內容。揉搓是無障礙的,如果用戶沒有打開js,你應該(但不必)爲每個人提供數據 - 即使這是一個單獨的html頁面。 http://api.jquery.com/jQuery.get/ – picus 2011-02-16 20:13:32