这是我的代码,我正在尝试用8张图片做动画,我首先想到的是错误是因为图像是.jpg,但我尝试将它们转换为.gif格式,但代码仍然没有工作,当我尝试运行代码时,我得到一个错误说:“无法设置属性'src'未定义”,我没有看到代码中的任何错误,我试着多次查看它,如果有人可以请帮忙,谢谢。 G:\ Year 2 \ OOD - 面向对象的开发\ Webpages \ Assignment \ Explosion
<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>
答案 0 :(得分:1)
代码有几个问题:
在函数中,AND和OR运算符加倍,而不是单个:
if(c == 7 | (i > 0 & i <= 1))
应该是:
if(c == 7 || (i > 0 && i <= 1))
NEXT,你没有正确引用图像标签,所以SRC不会更新,此外,图像是调用&#34;爆炸&#34;,不是&#34;动画&#34;,至少在你的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">
我希望这有帮助!