HTML-无法设置属性'src'的未定义

HTML - Cannot set property 'src' of undefined

本文关键字:src 未定义 属性 HTML- 设置      更新时间:2023-09-26

这是我的代码,我正在尝试用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>

代码有几个问题:

在函数中,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">

我希望这能有所帮助!