2015-06-07 66 views
0

這是我的代碼,我想用8張圖片做一個動畫,我首先想到的是錯誤是因爲圖片是.jpg,但我試過甚至轉換它們以.gif格式和代碼仍然沒有工作,當我嘗試運行代碼時,我得到一個錯誤說:「不能設置屬性'未定義的'src',我沒有看到代碼中的任何錯誤,我tryed多次查看,如果有人可以幫忙,謝謝。 G:\年2 \ OOD - 面向對象的開發\網頁\轉讓\防爆 HTML - 無法設置屬性的'src'未定義

<script> 


    var explosion = new Array(8); 
    var c = 0; 
    var startExplode; 
    var i = 0; 




     explosion[0] = 'ex1.jpg' 
     explosion[1] = "ex2.jpg" 
     explosion[2] = "ex3.jpg" 
     explosion[3] = "ex4.jpg" 
     explosion[4] = "ex5.jpg" 
     explosion[5] = "ex6.jpg" 
     explosion[6] = "ex7.jpg" 
     explosion[7] = "ex8.jpg" 



function explode() 
{ 
    if(c == 7 | (i > 0 & i <= 1)) 
    { 
     c = 0; 
    } 
    else 
    { 
     c++; 
     document.animation.src = explosion[c]; 
    } 
} 


</script> 
<body> 
<form> 
<img src ="ex1.jpg" name = "explosion" position = "fixed"> 

<input type="button" name="startExplode" value="explode" 
    onClick="startExplode=setInterval('explode()',20);"> 

</form> 
</body> 

</html> 
+1

沒有'document.animation'? – adeneo

+1

您有興趣使用'new Array()'。 – HyperNeutrino

+0

你有沒有針對James的解決方案?我嘗試了很多,但還沒有得到正確的答案,即使我有這樣的類似代碼,但仍然不能得到它的工作,即使我比較兩個代碼,並且沒有區別。 – Franko

回答

1

有幾個與代碼的問題:

在功能方面,AND和OR運營商增加了一倍,而不是單打:

if(c == 7 | (i > 0 & i <= 1)) 

應該是:

if(c == 7 || (i > 0 && i <= 1)) 

下一個,你沒有正確引用圖片標籤,所以SRC不會更新,此外,圖片至少在HTML中稱爲「爆炸」,而不是「動畫」。另外,如果您爲圖像標籤提供一個ID,則可以引用該ID(更容易)。

因此,代碼:

document.animation.src = explosion[c]; 

<img src ="ex1.jpg" name = "explosion" position = "fixed"> 

應該是:

document.getElementById("explosion").src=explosion[c]; 

<img src="ex1.jpg" name="animation" position="fixed" id="explosion"> 

我希望這有助於!

相關問題