简体   繁体   English

html / javascript幻灯片不起作用

[英]html/javascript slideshow does not work

i want to have a slideshow in my webpage but my code isnt working. 我想在网页中放映幻灯片,但是我的代码无法正常工作。 here is my html: 这是我的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>

Why doesn't it work as expected? 为什么它不能按预期工作?

Working Fiddle: https://jsfiddle.net/uff8nydv/ 工作小提琴: 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();

Also make sure you identifiy <img> as id="slideshow" 还要确保将<img>标识为id="slideshow"

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

The setTimeout calls a function slideit() that doesn't exist in your code. setTimeout调用您的代码中不存在的函数slideit() Chaning it to slide() might work better. 将其更改为slide()可能会更好。

Also, the eval is unnecessary, and the script chokes because you're trying to access an element #slideshow via getElementById("slideshow") that doesn't exist in your code. 另外, eval是不必要的,脚本会阻塞,因为您试图通过代码中不存在的getElementById("slideshow")访问元素#slideshow

Edited: fixed it... 编辑:修复...

<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>

You have to add the id="slideshow" to 您必须将id =“ slideshow”添加到

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

in order to change the image. 为了改变形象。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM