2012-07-11 54 views
-1

這應該運行的方式是改變彩色圖像。圖像變化將是陣列中的位置。這看起來像是一種重複自己的動畫.gif永遠。我的for循環沒有產生我期待的。

<script> 
var images = new Array(4); 

images[0] = new Image(50, 50); 
images[0].src = "0.gif"; 
images[1] = new Image(50, 50); 
images[1].src = "1.gif"; 
images[2] = new Image(50, 50); 
images[2].src = "2.gif"; 
images[3] = new Image(50, 50); 
images[3].src = "3.gif"; 
images[4] = new Image(50, 50); 

for(time=0; time>4; time++){ 
document.View.src = images[time] 
} 

<body> 
<img src = "0.gif" name = "View" height = 50 width = 50> 
</body> 

顯然,我已經做了一些事錯誤的,因爲我得到的是數組中的第一個圖像,它永遠不會改變。我是新來的JavaScript,所以任何幫助,我將不勝感激。

+0

我糾正了小於號問題,但它仍然無法正常工作。 – user1324518 2012-07-11 02:54:28

回答

2

你想:

for (time = 0; time < 4; time++) { 

你有time > 4,但你的初始值爲0,那麼你的條件是假的開始。 for循環的主體永遠不會運行,所以圖像永遠不會改變。

+0

正確我搞砸了小於號 – user1324518 2012-07-11 02:49:30

0

只是一些評論...

> var images = new Array(4); 

您初始化長度爲4的數組,再加入5名成員,因此長度爲5(項0至4)。不要打擾設置的長度,僅使用初始化數組文字:

var images = []; 

此外,還有一個document.images的集合,是在文檔中的所有IMG元素,因此可能不是一個好主意,有一個全球性的變量名稱相同。也許imgArray將是一個更好的名字。

> document.View.src 

使用其名稱作爲文檔對象的屬性訪問元素是不應使用的非標準化功能。 HTML5從img屬性列表中刪除名稱,但在討論集合時保留它(也許我們應該回到HTML 4.01和DOM 3)。

您可以改用圖片收集:

document.images.View.src 

,或者如果你是遊戲,HTML5的HTMLAllCollection