当前位置:首页 > jquery

jquery实现轮播图

2026-04-08 12:44:45jquery

实现基础轮播图结构

使用HTML创建轮播图的基本结构,包含图片容器和导航按钮。示例结构如下:

<div class="slider">
  <div class="slides">
    <img src="image1.jpg" class="active">
    <img src="image2.jpg">
    <img src="image3.jpg">
  </div>
  <button class="prev">←</button>
  <button class="next">→</button>
</div>

添加CSS样式

为轮播图添加基础样式,确保图片水平排列且只显示当前活动图片:

.slider {
  position: relative;
  width: 800px;
  height: 400px;
  overflow: hidden;
}
.slides img {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
}
.slides img.active {
  opacity: 1;
}
button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.prev { left: 10px; }
.next { right: 10px; }

编写jQuery核心逻辑

通过jQuery实现图片切换功能,包含自动轮播和手动导航:

jquery实现轮播图

$(document).ready(function(){
  let currentIndex = 0;
  const slides = $('.slides img');
  const totalSlides = slides.length;

  // 手动切换函数
  function showSlide(index) {
    slides.removeClass('active').eq(index).addClass('active');
  }

  // 下一张按钮
  $('.next').click(function(){
    currentIndex = (currentIndex + 1) % totalSlides;
    showSlide(currentIndex);
  });

  // 上一张按钮
  $('.prev').click(function(){
    currentIndex = (currentIndex - 1 + totalSlides) % totalSlides;
    showSlide(currentIndex);
  });

  // 自动轮播
  let interval = setInterval(function(){
    $('.next').click();
  }, 3000);

  // 鼠标悬停暂停
  $('.slider').hover(
    function() { clearInterval(interval); },
    function() { 
      interval = setInterval(function(){ $('.next').click(); }, 3000); 
    }
  );
});

添加指示器功能

扩展功能增加分页指示器,在HTML中添加:

<div class="dots-container"></div>

对应jQuery代码补充:

jquery实现轮播图

// 创建指示器
slides.each(function(index){
  $('.dots-container').append(`<span class="dot" data-index="${index}"></span>`);
});

// 指示器点击事件
$('.dot').click(function(){
  currentIndex = $(this).data('index');
  showSlide(currentIndex);
});

// 更新当前指示器状态
function updateDots() {
  $('.dot').removeClass('active').eq(currentIndex).addClass('active');
}
// 在showSlide函数内调用updateDots()

添加过渡动画效果

修改CSS实现更平滑的过渡效果,例如淡入淡出:

.slides img {
  transition: opacity 0.5s ease, transform 0.5s ease;
  transform: scale(1.05);
}
.slides img.active {
  transform: scale(1);
}

响应式处理

添加窗口大小变化时的响应式调整:

$(window).resize(function(){
  $('.slider').height($('.slider').width() * 0.5);
}).trigger('resize');

标签: jquery轮播图
分享给朋友:

相关文章

jquery教程

jquery教程

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。其核心特点是“写得更少,做得更多”(Write Les…

jquery实现vue

jquery实现vue

jQuery 和 Vue.js 是两种不同理念的前端工具,前者基于 DOM 操作,后者基于数据驱动。虽然 Vue 可以替代 jQuery 的大部分功能,但若需在 Vue 中临时集成 jQuery 或模…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

jquery实现

jquery实现

以下是关于jQuery实现的常见应用场景及方法,分为核心功能模块说明: DOM操作 使用$()选择器获取元素后,可通过链式调用方法操作DOM: $('#element').html('新内容').…

jquery函数

jquery函数

jQuery 函数概述 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能,简化 DOM 操作、事件处理、动画和 AJAX 等任务。其核心函数 $()…

jquery 切换

jquery 切换

jQuery 切换操作 jQuery 提供了多种切换元素状态的方法,包括显示/隐藏、类切换、属性切换等。以下是常见的切换操作实现方式。 显示与隐藏切换 使用 toggle() 方法可以在显示和隐藏之…