jquery实现简单的banner轮播效果【实例】

下面是详细讲解jquery实现简单的banner轮播效果的攻略。

1. 编写基础html文件

首先,在html文件中引入必要的css和js文件,编写基础的html文件结构如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Banner轮播效果</title>
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <div class="banner">
    <ul class="img-box">
      <li><img src="images/1.jpg" alt=""></li>
      <li><img src="images/2.jpg" alt=""></li>
      <li><img src="images/3.jpg" alt=""></li>
      <li><img src="images/4.jpg" alt=""></li>
      <li><img src="images/5.jpg" alt=""></li>
    </ul>
    <ul class="dot-box">
      <li class="active"></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <a href="javascript:void(0);" class="prev-btn"></a>
    <a href="javascript:void(0);" class="next-btn"></a>
  </div>
  <script src="js/jquery-3.6.0.min.js"></script>
  <script src="js/script.js"></script>
</body>
</html>

其中,我们创建了一个名为banner的div,它包含了两个ul列表(一个是图片列表,另一个是点列表)。同时,1.jpg ~ 5.jpg 是轮播图的图片资源,我们使用a标签来作为上一页和下一页的按钮。这是一个基础的html文件结构。

2. css样式

接下来,我们来编写样式。我们先默认隐藏图片列表中除了第一张图片以外的所有图片,同时隐藏上一页和下一页按钮。

.banner .img-box li:not(:first-child) {
  display: none;
}

.banner a { 
  display: none;
}

3. 实现轮播效果

我们可以利用css3的切换效果和jquery中的定时器来实现轮播效果。首先,我们需要创建一个定时器,通过更改active类的位置来切换图片。

var index = 0; // 当前显示的图片索引

function showImg() {
  $(".img-box li").eq(index).fadeIn().siblings().fadeOut();
  $(".dot-box li").eq(index).addClass("active").siblings().removeClass("active");
}
var timer = setInterval(function() {
  index++;
  if (index > 4) {
    index = 0;
  }
  showImg();
}, 2000);

在上面的代码中,我们首先定义了一个showImg函数,用于切换图片和点的选中状态。然后,我们创建了一个名为timer的变量,并使用setInterval函数来启动定时器。在定时器的回调函数中,我们先将index加1,然后判断是否超过图片总数,如果超过则将index设为0,同时调用showImg函数来切换图片和点的选中状态。最后,我们在文档加载完成后启动定时器:

$(document).ready(function() {
  showImg();
});

4. 添加上一页和下一页按钮

接下来,我们为上一页和下一页按钮添加点击事件。当点击上一页按钮时,我们需要将index减1,并判断是否到头,如果到头则将index设为图片总数-1,然后调用showImg函数。当点击下一页按钮时,我们需要将index加1,并判断是否超过图片总数,如果超过则将index设为0,然后调用showImg函数。

$(".prev-btn").click(function() {
  index--;
  if (index < 0) {
    index = 4;
  }
  showImg();
});

$(".next-btn").click(function() {
  index++;
  if (index > 4) {
    index = 0;
  }
  showImg();
});

5. 实现点列表功能

最后,我们需要为点列表添加点击事件。当点击某一个点时,我们需要将index设为当前点的索引,然后调用showImg函数。

$(".dot-box li").click(function() {
  index = $(this).index();
  showImg();
});

到这里,我们就完成了一个简单的banner轮播效果。完整的代码示例可以参考下面的链接。

示例一:https://codesandbox.io/s/jquery-banner-1-9s592

示例二:https://codesandbox.io/s/jquery-banner-2-m3j0u

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery实现简单的banner轮播效果【实例】 - Python技术站

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

相关文章

  • CSS3 translate导致字体模糊的实例代码

    下面是对“CSS3 translate导致字体模糊的实例代码”的完整攻略。 问题描述 在使用CSS3 translate动画的时候,我们有时会遇到字体模糊的问题。这是因为translate会改变元素的位置,而这个位置可能不是整数像素值,造成浏览器对字体渲染时模糊的现象。那么该如何解决这个问题呢? 解决方法 方法一:使用will-change属性 在CSS3中…

    css 2023年6月9日
    00
  • css如何绘制特殊图形的方法示例

    下面我将详细讲解一下 “CSS 如何绘制特殊图形的方法示例” 的攻略。 CSS 绘制特殊图形方法 1. 利用 border 属性绘制三角形 通过设置元素的 border 属性,可以轻松绘制三角形。 .triangle{ width: 0; height: 0; border: 50px solid transparent; border-top-color:…

    css 2023年6月10日
    00
  • CSS DIV制作梯形状的不规则网站导航

    针对如何使用CSS制作梯形状的不规则网站导航,我将提供以下完整攻略: 1. 创建容器 首先,我们需要创建一个容器,以便实现网站导航的布局。在HTML文件中添加一个DIV元素,设置class属性为“nav-container”。 <div class="nav-container"> <!– 网站导航元素放置在这里 –…

    css 2023年6月10日
    00
  • css的pointer鼠标类型详解(支持IE,firefox,chrome)

    CSS的pointer详解 在CSS中,通过pointer属性可以设置鼠标在某个区域的样式,包括形状、大小、颜色等。通过设置pointer的值,可以让鼠标在不同的状态下呈现不同的样式,为用户提供视觉反馈。 pointer属性值 pointer属性有多个取值,根据具体情境可以选择不同的取值。 auto: 默认值,浏览器自动根据对象决定指针类型 pointer:…

    css 2023年6月9日
    00
  • 【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)

    【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)是一篇关于jQuery实用代码片段的攻略,其中包括了一些可以直接使用的代码片段,可供开发者在开发过程中直接使用,提高开发效率。以下是对该攻略的详细讲解: 一、筛选与搜索 1.1 筛选指定元素 $(“selector”).filter(expression); 使用该代码片段可以筛…

    css 2023年6月9日
    00
  • css实现两栏固定中间自适应的方法

    要实现两栏固定中间自适应,需要使用css的布局技巧。下面是具体的步骤: 步骤一:HTML结构 首先,在HTML中需要创建以下基本结构: <div class="wrapper"> <div class="left">Left Column</div> <div class=&q…

    css 2023年6月9日
    00
  • css FF与IE兼容性总结

    在前端开发中,CSS 的兼容性问题是一个常见的挑战。特别是在 Firefox 和 Internet Explorer(IE)浏览器中,由于它们的渲染引擎不同,可能会导致 CSS 样式在不同浏览器中的显示效果不同。本文将提供一些关于如何解决 CSS 在 Firefox 和 IE 中的兼容性问题的方法,包括一些常见的 CSS 属性和示例说明。 CSS 属性兼容性…

    css 2023年5月18日
    00
  • CSS教程:理解继承属性及应用

    CSS教程:理解继承属性及应用 CSS中有一些属性是具有继承性的,这意味着当一个元素的样式发生改变时,它的子元素也会继承这些样式属性。这篇文章将会深入讲解CSS的继承属性及如何应用它们。 哪些CSS属性是有继承性的? 在CSS中,典型的有继承性的属性有: font(包括font-family,font-size,font-weight等) color tex…

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