javascript - 图像更改循环不起作用

标签 javascript html

我编写了一个 JavaScript,它应该每三秒更改一次标题图像。由于某种原因,当我打开页面时没有任何反应。

有人能看出我做错了什么吗?

HTML:

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="styles.css">
        <script src="changeImage.js"></script>
        <title>Mikael Mattsson</title>
    </head>
    <body>
        <div class="header">
            <img id="headerImg" src="images/header-image.png" alt="Header image" width="100%" hight="100%">
        </div>
    </body>
</html>

JavaScript:

var images = [];
images[0] = "images/header-image.png";
images[1] = "images/header-image2.png";
var x = 0;
function imageChanger(){
    var img = document.getElementById("headerImg");
    img.src = images[x];
    x++;
    if (x > images.length){
        x = 0;
    }

    setTimeout("imageChanger()", 3000);
}

最佳答案

  1. x > images.length 应为 x >= images.length
  2. setTimeout("imageChanger()", 3000); 必须更改为 setTimeout(imageChanger, 3000);

关于javascript - 图像更改循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218884/

相关文章:

javascript - z 索引问题2

javascript - Angular/ typescript : Accessing object data in constructor

html - 如何将div包裹在图像周围?

javascript - 如何使用 JavaScript 读取 HTML 标记的属性?

html - 如何防止连接波斯语字符?

html - 元素未水平对齐

javascript - 无法从 JavaScript 列表中删除新项目

javascript - 如何将 html div 附加到表以响应 jQuery getJSON

javascript - PDF 文档无法在移动设备中的 fancybox 内打开,因此当我单击在这些设备中打开 PDF 时,我不想打开空白的 fancybox

javascript - 选中复选框时如何将选择值更改为特定值