我想在我的网页上播放幻灯片,但我的代码无效。 这是我的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>
为什么不按预期工作?
答案 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"
为了改变图像。