html / javascript幻灯片不起作用

时间:2015-08-25 15:41:56

标签: javascript html html5 slideshow

我想在我的网页上播放幻灯片,但我的代码无效。 这是我的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>

为什么不按预期工作?

3 个答案:

答案 0 :(得分:3)

工作小提琴: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>

答案 1 :(得分:0)

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

此外,eval是不必要的,并且脚本会因为您尝试通过代码中不存在的#slideshow访问元素getElementById("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>

答案 2 :(得分:0)

你必须添加id =&#34;幻灯片&#34;到

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

为了改变图像。