jquery实现图片切换代码

下面我将提供一个完整的jquery实现图片切换的攻略。

步骤一:HTML结构

首先需要创建一个HTML结构,例如:

<div class="slideshow">
  <img src="img1.jpg" alt="Image 1" class="active">
  <img src="img2.jpg" alt="Image 2">
  <img src="img3.jpg" alt="Image 3">
  <img src="img4.jpg" alt="Image 4">
</div>

这里我们创建了一个包含4张图片的图片轮播器,其中第一张图片默认为激活状态,其他图片默认为隐藏状态。

步骤二:CSS样式

接下来为轮播器设置CSS样式,例如:

.slideshow {
  position: relative;
  height: 400px;
}
.slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.slideshow img.active {
  opacity: 1;
}

这里我们将轮播器容器设置为相对定位,每张图片设置为绝对定位,并通过opacity属性控制图片的显示和隐藏。我们同时为.active类设置了不透明度为1,确保当前激活的图片被显示出来。

步骤三:jQuery代码

最后编写jQuery代码来控制图片切换:

$(document).ready(function() {
  //自动播放
  setInterval(function() {
    //获取当前激活图片和下一张图片
    var activeImage = $('.slideshow img.active');
    var nextImage = activeImage.next();

    //如果当前激活图片是最后一张,则将下一张图片设置为第一张
    if (nextImage.length === 0) {
      nextImage = $('.slideshow img:first-child');
    }

    //将下一张图片设置为激活状态,并且将当前激活图片设置为隐藏状态
    activeImage.removeClass('active');
    nextImage.addClass('active');
  }, 3000); //每3秒钟自动切换一张图片

  //手动切换
  $('.slideshow').on('click', function() {
    //获取当前激活图片和下一张图片
    var activeImage = $('.slideshow img.active');
    var nextImage = activeImage.next();

    //如果当前激活图片是最后一张,则将下一张图片设置为第一张
    if (nextImage.length === 0) {
      nextImage = $('.slideshow img:first-child');
    }

    //将下一张图片设置为激活状态,并且将当前激活图片设置为隐藏状态
    activeImage.removeClass('active');
    nextImage.addClass('active');
  });
});

这段代码实现了两种切换方式:自动切换和手动点击切换。在自动切换中,我们使用setInterval函数每隔3秒钟自动切换一张图片。在手动切换中,我们使用jQuery的on事件绑定函数,当轮播器被点击时切换到下一张图片。

示例

下面提供示例展示这段代码的运行效果:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>jQuery图片切换</title>
    <style>
      .slideshow {
        position: relative;
        height: 400px;
      }
      .slideshow img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        max-width: 100%;
        max-height: 100%;
        opacity: 0;
        transition: opacity 0.5s ease-in-out;
      }
      .slideshow img.active {
        opacity: 1;
      }
    </style>
  </head>
  <body>
    <div class="slideshow">
      <img src="https://picsum.photos/id/1015/600/400" alt="Image 1" class="active">
      <img src="https://picsum.photos/id/1016/600/400" alt="Image 2">
      <img src="https://picsum.photos/id/1018/600/400" alt="Image 3">
      <img src="https://picsum.photos/id/1021/600/400" alt="Image 4">
    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
      $(document).ready(function() {
        setInterval(function() {
          var activeImage = $('.slideshow img.active');
          var nextImage = activeImage.next();
          if (nextImage.length === 0) {
            nextImage = $('.slideshow img:first-child');
          }
          activeImage.removeClass('active');
          nextImage.addClass('active');
        }, 3000);
        $('.slideshow').on('click', function() {
          var activeImage = $('.slideshow img.active');
          var nextImage = activeImage.next();
          if (nextImage.length === 0) {
            nextImage = $('.slideshow img:first-child');
          }
          activeImage.removeClass('active');
          nextImage.addClass('active');
        });
      });
    </script>
  </body>
</html>

上述示例展示了一张集成了jQuery实现图片切换功能的轮播图。当页面加载完成后,图片轮播器默认会自动切换图片,并且可以通过手动方式点击该轮播图来进行切换(默认切换时间为3秒)。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery实现图片切换代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • CSS实现两栏布局,左边固定,右边自适应的4种方法

    下面是完整攻略: CSS实现两栏布局,左边固定,右边自适应的4种方法 在Web开发中,实现两栏布局是常见需求之一。其中,左边固定,右边自适应的布局方式也是较为普遍的一种,本文介绍4种实现这种布局方式的方法。 方法一:float布局 这是一种比较早期的实现方式,通过设置左边固定宽度,右边使用float属性浮动使得自适应宽度。 <div class=&qu…

    css 2023年6月9日
    00
  • 使用html5+css3来实现slider切换效果告别javascript+css

    HTML5 和 CSS3 的引入,使得在网页设计和建设方面有了很多新的特性和技术,可以实现更多的功能,slider 切换效果就是其中一个。下面是使用 HTML5 和 CSS3 来实现 slider 切换效果的完整攻略,其中包括两个示例: 一、基础版 1. HTML 结构 首先需要准备 HTML 代码,基础版的 HTML 代码如下: <div class…

    css 2023年6月9日
    00
  • webpack拆分压缩css并以link导入的操作步骤

    下面是webpack拆分压缩css并以link导入的操作步骤的完整攻略。我会提供两个示例说明,以便更好地理解。 1. 安装必要的依赖 首先,我们需要安装必要的依赖项。这里需要安装三个依赖:css-loader, style-loader, mini-css-extract-plugin。其中,css-loader和style-loader用于处理css文件,…

    css 2023年6月10日
    00
  • Bootstrap CSS组件之导航条(navbar)

    Bootstrap CSS组件之导航条(navbar)是Bootstrap中常用的组件之一,它能够帮助我们在网页顶部或底部添加导航菜单,使得网站导航更加方便和美观。下面我将详细讲解如何在网页中使用Bootstrap CSS导航条组件。 1. 引入Bootstrap CSS 首先,我们需要在HTML文档中引入Bootstrap CSS样式文件,可以通过CDN引…

    css 2023年6月10日
    00
  • WordPress中自定义后台管理界面配色方案的小技巧

    下面是WordPress中自定义后台管理界面配色方案的完整攻略,包括以下内容: 确定需要修改的样式 首先,我们需要确定需要修改的样式,才能针对性地进行修改。在WordPress后台管理界面中,有许多不同的元素,如导航菜单、顶部工具栏、文章列表、插件列表等等。我们需要根据实际需求,选择需要修改的元素。 创建一个新的配色方案 在WordPress中,我们可以通过…

    css 2023年6月9日
    00
  • javascript:google 向上向下滚动特效,兼容IE6,7,8,FF

    如果您想实现“javascript:google 向上向下滚动特效,兼容IE6,7,8,FF”的话,可以按照以下步骤进行: 步骤一: 建立 HTML 文件 首先,您需要建立一个 HTML 文件,可以在 head 部分添加以下代码来引入 jQuery 和自己编写的 JavaScript 文件: <head> <script src=&quot…

    css 2023年6月11日
    00
  • IE7、IE8、ff下的margin-top问题 折叠margin

    简述 在IE7、IE8、ff等旧版本浏览器中,margin-top属性会存在所谓“折叠margin”的问题,即在某些情况下,相邻的两个元素的margin-top会“折叠”为一条,导致元素间的间距不如预期。 解决方案 1.添加padding-top 给父元素添加一个padding-top的属性值,可以有效避免margin-top的折叠问题。这是由于元素的pad…

    css 2023年6月10日
    00
  • CSS3结构性伪类选择器九种写法

    CSS3结构性伪类选择器可以根据元素在结构中的位置进行选择。在本文中,我将详细讲解CSS3结构性伪类选择器九种写法,并提供两个实际的示例来说明其用法。 1. :first-child 该选择器选取父元素的第一个子元素。 示例代码: <ul> <li>第一个</li> <li>第二个</li> &lt…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部