jQuery原生轮播图写法

简介: jQuery原生轮播图写法
  • 定义了 .wrapper 类,用于设置整个轮播图容器的样式,包括宽度、高度和边框等。
  • 图片使用绝对定位,通过设置 position: absoluteleft: 0; top: 0; 确保图片叠加在一起,并且只显示第一张图片。
  • 小圆点使用绝对定位,通过设置 position: absolute、left: 175px; 和 bottom: 10px; 确保小圆点居中显示在底部位置。
  • 左右箭头使用绝对定位,通过设置 position: absolutetop: 35%; 确保箭头垂直居中显示。
  • .active 类用于设置当前活动图片对应的小圆点的背景颜色。


            .wrapper {
        width: 500px;
        height: 450px;
        border: 1px solid red;
        position: relative;
      }
      /* 5张图片叠加到一块 */
      .wrapper img {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        display: none;
      }
      .wrapper img:nth-of-type(1) {
        display: block;
      }
      /* 小圆点 */
      .btn {
        width: 150px;
        display: flex;
        justify-content: space-around;
        position: absolute;
        left: 175px;
        bottom: 10px;
        z-index: 100
      }
      .btn span {
        display: block;
        width: 15px;
        height: 15px;
        border: 3px solid white;
        border-radius: 50%;
      }
      /* 左右箭头 */
      .wrapper a {
        text-decoration: none;
        font-size: 50px;
        color: red;
        position: absolute;
        top: 35%;
      }
      .wrapper a:nth-of-type(1) {
        left: 10px;
      }
      .wrapper a:nth-of-type(2) {
        right: 10px;
      }
      .active {
        background-color: red;
      }


  • 在容器内,使用 <img> 标签添加了五张图片,并给每张图片添加了不同地址的 src 属性。
  • 使用 <span> 标签创建了五个小圆点作为图片导航指示器。
  • 使用 <a> 标签创建了两个箭头,用于切换上一张和下一张图片。


       <div class="wrapper">
      <div class="contain">
        <img src="./img/063E06CD3FE5E7B2ABCF302ADE948464.jpg" alt="">
        <img src="./img/0F16C4EA63793241C0036F5F8343C24C.jpg" alt="">
        <img src="./img/13100EF368FB52266EA2158787F04145.jpg" alt="">
        <img src="./img/2FF8451CCDD6529E0B0FCB1090F2E03F.jpg" alt="">
        <img src="./img/2172B6BEA7D1DD84749967566E307170.jpg" alt="">
      </div>
      <div class="btn">
        <span class="active"></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
      </div>
      <a href="javascript:void(0);">&lt;</a>
      <a href="javascript:void(0);">&gt;</a>
    </div>


  • 定义了一个变量 index 用于记录当前显示的图片索引,默认为0。
  • 给左箭头 <a> 添加点击事件处理函数,调用 prev_pic() 函数切换到上一张图片。
  • 给右箭头 <a> 添加点击事件处理函数,调用 next_pic() 函数切换到下一张图片。
  • 给容器 .wrapper 添加鼠标悬停和离开事件处理函数,实现鼠标悬停时停止轮播,离开时重新自动轮播。
  • 定义了 next_pic() 函数用于切换到下一张图片,通过增加 index 变量的值来控制当前显示的图片索引,并调用 addStyle() 函数更新样式。
  • 定义了 prev_pic() 函数用于切换到上一张图片,通过减少 index 变量的值来控制当前显示的图片索引,并调用 addStyle() 函数更新样式。
  • 定义了 addStyle() 函数用于控制图片的显示和隐藏以及小圆点的样式,使用 jQuery 的 fadeIn()fadeOut() 方法来实现淡入淡出效果,并通过添加或移除 .active 类来设置当前活动小圆点的背景颜色。
  • 定义了 autoplay() 函数用于自动轮播,通过设置定时器每隔一段时间调用 next_pic() 函数实现自动切换。
  • 在页面加载完成后,调用 autoplay() 函数开始自动轮播。


           var index=0;
      // 点击上一张
      $("a:first").click(function(){
        prev_pic();
      })
      // 点击下一张
      $("a:last").click(function(){
        next_pic();
      })
      // 悬浮停止
      $(".wrapper").mouseover(function(){
        clearInterval(id);
      });
      $(".wrapper").mouseout(function(){
          autoplay();
      })
      // 下一张
      function next_pic(){
        index++;
        if(index>4){
          index=0;
        }
        addStyle();
      }
      // 上一张
      function prev_pic(){
        index--;
        if(index<0){
          index=4;
        }
        addStyle();
      }
      // 控制图片显示隐藏,小圆点背景色
      function addStyle(){
        $("img").eq(index).fadeIn();
        $("img").eq(index).siblings().fadeOut();
        $("span").eq(index).addClass("active");
        $("span").eq(index).siblings().removeClass("active");
      }
      // 自动轮播
      var id;
      autoplay();
      function autoplay(){
        id=setInterval(function(){
          next_pic();
        },1000)
      }


  效果如下:


目录
相关文章
|
JavaScript 测试技术
探索jQuery的ready方法比原生js的window.onload快的奥秘
探索jQuery的ready方法比原生js的window.onload快的奥秘
|
7月前
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
3天前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
1天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
8天前
|
JavaScript
jQuery新闻类轮播图插件sliderBox
sliderBox.js是一款jQuery新闻类轮播图插件。该jQuery新闻类轮播图插件可以创建兼容ie8、带缩略图导航、以及多种过渡效果的轮播图。
14 0
|
1月前
|
JavaScript
jQuery制作的网站首页宽屏导航轮播图特效源码
jQuery制作的网站首页宽屏导航轮播图特效源码是一段基于jQuery制作的可用于商城首页 微商城 互联网公司或某些电子商城的首页特效,自带有二级菜单栏、轮播图滚动、登录注册按钮等等,非常全面,欢迎对此段代码感兴趣的朋友前来下载使用。
23 4
|
2月前
|
JavaScript
jQuery轮播图
jQuery轮播图
17 0
|
4月前
|
Devops 持续交付 测试技术
JSF遇上DevOps:开发流程将迎巨变?一篇文章带你领略高效协同的魅力!
【8月更文挑战第31天】本文探讨了如何在JavaServer Faces(JSF)开发中融入DevOps文化,通过持续集成与部署、自动化测试、监控与日志记录及反馈机制,提升软件交付速度与质量。文中详细介绍了使用Jenkins进行自动化部署、JUnit与Selenium进行自动化测试、ELK Stack进行日志监控的具体方法,并强调了持续改进的重要性。
44 0
|
4月前
|
XML JSON 前端开发
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
35 0
|
6月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作