2011-01-25 86 views
1

我正在用javascript寫一個動畫,並且希望打印給用戶加載時間,直到加載所有圖像。javascript:直到頁面加載的時間

圖像HTML設置爲:<img src="" />

在那裏的JavaScript代碼知道所有加載頁面時?
即時間,直到的onLoad()事件稱爲

+3

ahmed,@ThiefMaster試圖說當一個答案解決了你的問題時,接受它(在投票箭頭下面的大選中標記)被認爲是禮貌的。這讓社區知道你正積極地參與你的問題,並且不打算轉儲和運行,可以這麼說。這當然不是*必需的*。 (幾乎沒有堆棧溢出是必需*。) – 2011-01-25 16:30:57

+0

好吧,我不知道有這樣的功能......謝謝 – Alex 2011-01-25 17:17:38

回答

2

你也許可以在頁面

<span id="imgsMsg"></span> 
<script type="text/javascript"> 
var imgs = document.images; 
var len = imgs.length; 
var percent = 100; 
var count=0; 
var messagecontainer = document.getElementById("imgsMsg"); 
for (var i=0;i<len;i++) { 
    imgs[i].onload=function() { 
    count++; 
    messagecontainer = (percent - Math.floor((100/len)*count))+"% loaded"; // hope my math is correct ;) 
    } 
} 
</script> 
</body> 
0

這並不難做到,與$(window).load

var readytime = new Date().getTime(); 
$(window).load(function() { 
    var loadingtime = (new Date().getTime() - readytime)/1000; // in seconds 

    $('#yourTimingField').text(loadingtime + ' seconds'); 
}); 

它測量腳本的這部分的加載之間的時間量所有子元素。

+0

你好,我想打印的用戶時間,直到頁面加載後,不加載頁面後的時間。 – Alex 2011-01-25 14:40:20

2

你也許可以做的最好的是跟蹤已加載圖像的數量,並分割爲總數的底部做這樣的事剩餘的圖像數量。像這樣的:

var total_loaded = 0; 
$('img').load(function() 
{ 
    total_loaded += 1; 
    var load_progress = total_loaded/$('img').length; 
    // you can now use load_progress to show the user a rough progress animation 
}); 

如果你想要一個「剩餘時間」顯示,你需要僞裝它。例如,您可以跟蹤總時間,並將其與​​變量進行比較以獲取剩餘時間。