原生js实现淡入淡出轮播图效果_swiper淡入轮播,简单的信息管理系统

下面为原生js写出来的轮播图淡入淡出效果,源代码能够正确运行。
1.效果展示
在这里插入图片描述

2.源代码

swiper.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>轮播图</title>
  <link rel="stylesheet" href="./style/style.css">
  <script src="./script/jquery.min.js"></script>
</head>
<body>
  <div class="swiper">
  <--- 图片轮播容器->
    <div class="swiper-wrap">
      <img class="active" src="./images/1.jpg" alt="">
      <img class="" src="./images/2.jpg" alt="">
      <img class="" src="./images/3.jpg" alt="">
      <img class="" src="./images/4.jpg" alt="">
      <img class="" src="./images/5.jpg" alt="">
    </div>
  <--- 左右点击箭头->
    <div class="slider\_control prev">&lt;</div>
    <div class="slider\_control next">&gt;</div>
 <--- 图片轮播容器->
    <div class="dynamic">
      <span class="active"></span>
      <span class=""></span>
      <span class=""></span>
      <span class=""></span>
      <span class=""></span>
    </div>
  </div>
</body>
</html>

swiper.js

<script>
const len = $(".swiper-wrap").children("img").length;

// 当前图片索引
let current = 0,
  timer = null;

// 下一张图片
$(".next").click(function () {
  ++current;
  // 如果索引 等于 图片数组长度则等于 0
  if (current === len) current = 0;
  // 轮播图渲染图片
  renderImg();
});

// 上一张图片
$(".prev").click(function () {
  --current;
  // 如果索引 小于 0 则等于 图片数组长度 - 1
  if (current < 0) current = len - 1;
  // 轮播图渲染图片
  renderImg();
});

// 轮播图渲染图片
function renderImg() {
  $(".swiper-wrap img")
    .eq(current)
    .addClass("active")
    .siblings("img")
    .removeClass("active");
  $(".dynamic span")
    .eq(current)
    .addClass("active")
    .siblings("span")
    .removeClass("active");
}

// 小圆点点击切换图片
$(".dynamic span").each(function (index, item) {
  $(this).mousemove(function () {
    current = index;
    renderImg();
  });
});


// 定时器 切换轮播图
function animateBanner() {
  timer = setInterval(() => {
    ++current;
    // 如果索引 等于 图片数组长度则等于 0
    if (current === len) current = 0;

    // 轮播图渲染图片
    renderImg();
  }, 1500);
}

// 鼠标经过轮播图
$('.swiper').mousemove(function() { clearInterval(timer)})
// 鼠标移出轮播图
$('.swiper').mouseout(animateBanner)

animateBanner();

</script>

swiper.css

.swiper {
  width: 770px;


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。**

**因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/9f478f48c52b312bc28e0803d307ff38.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/d17ce41f03d0aede81e99311865f0c6e.png)
![img](https://img-blog.csdnimg.cn/img_convert/44124b5562054261fc25b1f8371f7cfc.png)

**既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!**

**由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)**
![img](https://img-blog.csdnimg.cn/img_convert/b51afb397b98f24a48a25b0996e74906.png)

系化!**

**由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)**
[外链图片转存中...(img-CfaFtDFs-1712557227206)]

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS3的transition属性来实现图片的淡入淡出效果。具体步骤如下: 1. 在HTML中创建一个包含图片的容器,如下: ``` <div class="slider"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> ``` 2. 使用CSS样式设置容器的宽度和高度,并将容器中的图片的位置设置为绝对定位。 ``` .slider { width: 100%; height: 500px; position: relative; } .slider img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 1s ease-in-out; } ``` 3. 使用JavaScript代码来控制图片的淡入淡出效果。首先,获取所有的图片元素和它们的数量。 ``` var sliderImages = document.querySelectorAll('.slider img'); var currentImage = 0; var sliderImageCount = sliderImages.length; ``` 4. 创建一个函数,用于控制图片的淡入淡出效果。该函数将当前图片的opacity值设置为0,将下一张图片的opacity值设置为1,并将currentImage变量加1,以便下一次调用该函数时切换到下一张图片。 ``` function nextImage() { sliderImages[currentImage].style.opacity = 0; currentImage = (currentImage + 1) % sliderImageCount; sliderImages[currentImage].style.opacity = 1; } ``` 5. 使用setInterval函数来周期性地调用该函数,以实现图片的自动轮播效果。 ``` setInterval(nextImage, 5000); ``` 完整代码如下: HTML代码: ``` <div class="slider"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> ``` CSS代码: ``` .slider { width: 100%; height: 500px; position: relative; } .slider img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 1s ease-in-out; } ``` JavaScript代码: ``` var sliderImages = document.querySelectorAll('.slider img'); var currentImage = 0; var sliderImageCount = sliderImages.length; function nextImage() { sliderImages[currentImage].style.opacity = 0; currentImage = (currentImage + 1) % sliderImageCount; sliderImages[currentImage].style.opacity = 1; } setInterval(nextImage, 5000); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值