在没有循环的情况下,让简单的JS幻灯片继续播放可以通过以下几种方式实现:
setInterval
函数来定时切换幻灯片。首先,定义一个计数器变量来记录当前显示的幻灯片索引,然后使用setInterval
函数每隔一定时间执行切换幻灯片的操作。当计数器变量达到最大索引时,可以通过重置计数器变量的方式实现循环播放。var slides = document.getElementsByClassName("slide");
var currentIndex = 0;
function showSlide(index) {
// 隐藏所有幻灯片
for (var i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
// 显示指定索引的幻灯片
slides[index].style.display = "block";
}
function nextSlide() {
currentIndex++;
if (currentIndex >= slides.length) {
currentIndex = 0; // 重置计数器变量
}
showSlide(currentIndex);
}
// 每隔3秒切换到下一张幻灯片
setInterval(nextSlide, 3000);
@keyframes
规则和animation
属性来实现幻灯片的自动播放。首先,定义一个动画序列,通过改变幻灯片的透明度或位置来实现切换效果。然后,将动画应用到幻灯片元素上,并设置动画的持续时间和播放次数。<style>
.slide {
animation: slideshow 3s infinite;
}
@keyframes slideshow {
0% {
opacity: 0;
}
20% {
opacity: 1;
}
80% {
opacity: 1;
}
100% {
opacity: 0;
}
}
</style>
<div class="slide">幻灯片1</div>
<div class="slide">幻灯片2</div>
<div class="slide">幻灯片3</div>
bxSlider
插件,通过设置auto
选项为true
来实现自动播放。<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.min.js"></script>
<link href="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.min.css" rel="stylesheet" />
<div class="slider">
<div>幻灯片1</div>
<div>幻灯片2</div>
<div>幻灯片3</div>
</div>
<script>
$(document).ready(function() {
$('.slider').bxSlider({
auto: true,
mode: 'fade',
pause: 3000,
controls: false
});
});
</script>
以上是三种常见的实现方式,根据具体情况选择适合的方法来实现简单的JS幻灯片在没有循环的情况下继续播放。
领取专属 10元无门槛券
手把手带您无忧上云