html/javascript 幻灯片放映不起作用

html/javascript slideshow does not work

我想在我的网页中放映幻灯片,但我的代码无法正常工作。 这是我的 html:

<body>
<script type="text/javascript">
var slideNumber = 1;
function slide() {
    document.getElementById("slideshow").src = "../images/slideshow/" + slideNumber + ".jpg";
    slideNumber++;
    if (slideNumber == 5) {
        slideNumber = 1;
    }
    setTimeout("slide()",2500);
}
slide();
</script>
<img id="slideshow" src="../images/slideshow/1.jpg" width="500" height="300"/>
</body>

为什么没有按预期工作?

setTimeout 调用了您的代码中不存在的函数 slideit()。将其更改为 slide() 可能会更好。

此外,eval 是不必要的,并且脚本阻塞是因为您试图通过 getElementById("slideshow") 访问代码中不存在的元素 #slideshow

已编辑:已修复...

<body>

  <img id="slideshow" src="../images/slideshow/1.jpg" width="500" height="300"/>

<script type="text/javascript">
    var slideNumber = 1;
    function slide() {
        document.getElementById("slideshow").src = "../images/slideshow/" + slideNumber + ".jpg";
        slideNumber++;
        if (slideNumber == 5) {
            slideNumber = 1;
        }
        setTimeout("slide()",1000);
    }
    slide();
</script>

</body>

工作Fiddle:https://jsfiddle.net/uff8nydv/

var slideNumber = 1;

function slide() {

    document.getElementById("slideshow").src = "../images/slideshow/" + slideNumber + ".jpg";    
    console.log("../images/slideshow/" + slideNumber + ".jpg");

    slideNumber++;

    if (slideNumber == 5) {
        slideNumber = 1;
    }

    setTimeout(slide,500);
}

slide();

还要确保将 <img> 标识为 id="slideshow"

<body>
    <img src="../images/slideshow/1.jpg" width="500" height="300" id="slideshow"/>
</body>

您必须将 id="slideshow" 添加到

  img src="../images/slideshow/1.jpg" id="slideshow" width="500" height="300"

为了换头像。