【发布时间】:2018-10-12 02:26:46
【问题描述】:
我编写了一个非常简单的幻灯片,每 5 秒显示一张新幻灯片。幻灯片图片名称有:1.png、2.png、3.png等,共有5张幻灯片。当我刷新浏览器时,幻灯片放映不起作用。作为记录,我在 w3schools.com 和其他教程的帮助下编写了这个代码,并且我从网站上复制了代码(当然我更改了变量)。即使我这样做了,它仍然不起作用。请帮忙。
JS代码(在):
<script type="javascript">
var number=0;
function change_slide() {
number++;
if(number>5) {
number=1;
}
document.getElementById( "slider" ).style.backgroundImage="url(number + '.png')";
setInterval(change_slide, 5000);
}
</script>
在正文标签中:
<body onload="change_slide()">
幻灯片 div
<div id="slider"></div>
幻灯片CSS
#slider {
float:left;
width:505px;
height:330px;
margin-right: 50px;
margin-left: 25px;
margin-top: 25px;
border:2px solid black;
border-radius: 15px;
}
对不起,没有代码sn-p,但是网站的代码太长了。
PS.所有幻灯片图像的尺寸均为:505x330 像素。
【问题讨论】:
-
下面的答案会告诉你为什么它不起作用,但是我会添加一个旁注并告诉你你应该打电话给
setTimeout而不是setInterval。调用setInterval将创建一个循环,在这种情况下,每 5000 毫秒发生一次。然而,在这段代码中,每次函数被调用时,你都会创建那个循环,这将很快导致这个函数每 5000 毫秒被调用几十或几百次。
标签: javascript html css slideshow