HTML/CSS/JS实现轮播图

该代码创建了一个图片轮播功能,使用CSS进行样式布局,通过JavaScript控制图片的显示和切换效果。轮播图由多个绝对定位的图片元素组成,利用透明度变化实现平滑过渡。默认显示第一张图片,通过定时器自动每隔3秒切换到下一张图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<div class="slideshow-container">
  <div class="slideshow-slide active">
    <img src="image1.jpg" alt="Slide 1">
  </div>
  <div class="slideshow-slide">
    <img src="image2.jpg" alt="Slide 2">
  </div>
  <div class="slideshow-slide">
    <img src="image3.jpg" alt="Slide 3">
  </div>
</div>
.slideshow-container {
  position: relative;
  height: 400px;
  overflow: hidden;
}

.slideshow-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slideshow-slide.active {
  opacity: 1;
}
const slides = document.querySelectorAll('.slideshow-slide');
let currentSlide = 0;

function showSlide(index) {
  slides[currentSlide].classList.remove('active');
  slides[index].classList.add('active');
  currentSlide = index;
}

function nextSlide() {
  let index = (currentSlide + 1) % slides.length;
  showSlide(index);
}

function prevSlide() {
  let index = currentSlide - 1;
  if (index < 0) {
    index = slides.length - 1;
  }
  showSlide(index);
}

setInterval(nextSlide, 3000);

通过一个包含所有图片的父容器,每个图片都是一个绝对定位的元素,只有当前图片的透明度是1,其余的透明度是0。

为了避免初次进入界面时,图片不显示的问题,为第一张图片设置类名为“active”,使第一张图片的透明度为1。

每张图片都有一个过渡效果,当前图片变为不活动状态时,透明度会渐渐变为0;当下一张图片变为活动状态时,透明度会渐渐变为1。

在JS代码中

1.函数showSlide(index)

        接受一个索引参数,表示要显示哪个图片

        首先将当前图片的透明度设置为0,然后将目标图片的透明度设置为1,并将当前图片的索引更新为目标图片的索引

2. 函数nextSlide()

        将当前图片的索引加1,然后调用showSlide()函数来显示下一张图片

3. 函数prevSlide()

        将当前图片的索引减1,当前图片为第一张时,切换到最后一张图片,然后调用showSlide()函数来显示上一张图片

3. setInterval()函数

        设置一个计时器,以便每隔3秒钟就自动切换到下一张图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值