2011-10-25 18 views
0

我有一個簡單的HTML頁面,它在加載時會運行一個JavaScript代碼,用於預加載大量圖像。當所有的圖像加載Java腳本顯示結果:一個簡單的延時/幻燈片製作與圖像:在html頁面上完成javascript之前的簡單文本消息或圖像

是這樣的代碼:

<HTML> 
<HEAD> 
<TITLE>Video</TITLE> 
</HEAD> 
<BODY BGCOLOR="#000000"> 
<img name="foto"> 
<SCRIPT LANGUAGE="JavaScript"> 
var Pic = new Array(); 

Pic[0] = '/images/image1.jpg' 
Pic[1] = '/images/image2.jpg' 
Pic[2] = '/images/image3.jpg' 
//this part in real code is replaced with a PHP script that print image location dinamically 

var t; 
var j = 0; 
var p = Pic.length; 
var preLoad = new Array(); 
for (i = 0; i < p; i++) { 
preLoad[i] = new Image(); 
preLoad[i].src = Pic[i]; 
} 
//all images are loaded on client 
index = 0; 
function update(){ 
if (preLoad[index]!= null){ 
document.images['foto'].src = preLoad[index].src; 
index++; 
setTimeout(update, 1000); 
} 

} 
update(); 

</script> 

</BODY> 
</HTML> 

我的問題是:我怎樣才能把一個形象,就可以了在腳本結束之前顯示? 有沒有辦法做到這一點? 是否可以在頁面的某個地方打印目前載入腳本的圖片數量? Thanx

P.S.我的所有測試都不給我任何正面的反饋:我在HTML頁面上放置的每件東西都會在腳本結束後顯示...

+0

看看這個:http://stackoverflow.com/questions/ 6096240/run-a-function-when-all-images-are-loaded –

+0

java和javascript是非常不同的 – ajax333221

+0

答案已經解決了 – Lork

回答

0

發動對onLoad事件的代碼,並添加一個src到您的空圖像標籤:

<img name="foto" src="/images/image0.jpg"> 

這將在beggining加載image0。

<HTML> 
<HEAD> 
<TITLE>Video</TITLE> 
</HEAD> 
<BODY BGCOLOR="#000000" onLoad="preload()"> 
<img name="foto"> 
<SCRIPT LANGUAGE="JavaScript"> 
preLoad[i] = new Image(); 

function preload() { 
var Pic = new Array(); 

Pic[0] = '/images/image1.jpg' 
Pic[1] = '/images/image2.jpg' 
Pic[2] = '/images/image3.jpg' 
//this part in real code is replaced with a PHP script that print image location dinamically 

var t; 
var j = 0; 
var p = Pic.length; 
var preLoad = new Array(); 
for (i = 0; i < p; i++) { 
preLoad[i].src = Pic[i]; 
} 
} 

//all images are loaded on client 
index = 0; 
function update(){ 
if (preLoad[index]!= null){ 
document.images['foto'].src = preLoad[index].src; 
index++; 
setTimeout(update, 1000); 
} 

} 
update(); 

</script> 

</BODY> 
</HTML> 

要添加計數器,在主迴路中寫一個字符串與我價值的文件,例如..

+0

沒有不工作...這是主要問題...當我在瀏覽器上加載頁面,如果它沒有完全加載,我什麼都看不到。我該怎麼解決?thanx! – Lork

+0

編輯:把所有的代碼(更新調用)放在onLoad事件中:http://onlinetools.org/articles/unobtrusivejavascript/chapter4.html – Ivan

+0

PERFECT !!!!!!!!!!!!!!!!!!!!!!!!! Thanx a lottttt! – Lork

0

您需要在圖像實際完全加載時註冊一個事件。我相信jquery支持這一點。

+0

但是,如果我只需要顯示一個圖像(如背景)BEFORE腳本結束?我該怎麼做?當我在瀏覽器上加載頁面,如果它沒有完全加載,我什麼都看不到:-( – Lork

相關問題