【发布时间】:2016-05-30 15:31:56
【问题描述】:
我有 5 张图片的幻灯片,每隔几秒钟。它应该转到下一个图像,然后循环。
当前发生的是显示第一张图像,然后过渡到下一张。当下一个出现时,它会闪回到第一个图像。然后它会转到该系列中的第三张图像,但再次闪回第一张图像。这一直持续到第五张图片。
但是一旦它再次循环到第一张图片(在浏览完所有五张图片之后),从那里开始一切正常。每个图像停留 3 秒,然后继续,没有跳回图像一个或任何东西。
这是我正在使用的代码。
HTML:
<div id="slideshow">
<div>
<img src="Images/1.gif">
</div>
<div>
<img src="Images/2.gif">
</div>
<div>
<img src="Images/3.gif">
</div>
<div>
<img src="Images/4.gif">
</div>
<div>
<img src="Images/5.gif">
</div>
</div>
CSS:
#slideshow {
clear: both;
margin: 50px auto;
position: relative;
max-width: 960px;
height: 643px;
padding: 10px;
box-shadow: 0 0 20px rgba(0,0,0,0.4);
}
#slideshow > div {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
}
#slideshow img {
max-width: 100%;
}
JS:
$("#slideshow > div:gt(0)").hide();
setInterval(function() {
$('#slideshow > div:first')
.fadeOut(800)
.next()
.fadeIn(800)
.end()
.appendTo('#slideshow');
}, 3000);
我正在整理的实际网站在这里,因此您可以看到它的实际效果:
schmelzerwedding.com
任何帮助使其不会像那样跳回将不胜感激。谢谢!
【问题讨论】:
-
你能插入一个jsfiddle吗?
-
如果我是你,我不会每次都做
appendTo()。似乎不必要的复杂和性能沉重。只需跟踪您在哪张幻灯片上,并每次增加数字,直到到达终点,然后再次将其设置为 0。
标签: javascript jquery html css