<…">
前端开发社区前端开发社区
  • 首页
  • VUE.js
  • React.js
  • HTML
  • CSS
  • JavaScript
  • PHP
  • jquery
  • Java
  • MySQL
  • uniapp
前端开发社区
当前位置:首页 > jquery

jquery 走马灯

2026-03-16 22:52:08jquery

jQuery 走马灯实现方法

基础 HTML 结构

<div class="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active"><img src="image1.jpg"></div>
    <div class="carousel-item"><img src="image2.jpg"></div>
    <div class="carousel-item"><img src="image3.jpg"></div>
  </div>
  <button class="carousel-prev">←</button>
  <button class="carousel-next">→</button>
</div>

CSS 样式准备

.carousel {
  position: relative;
  width: 600px;
  height: 400px;
  overflow: hidden;
}
.carousel-inner {
  display: flex;
  transition: transform 0.5s ease;
}
.carousel-item {
  min-width: 100%;
}
.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

jQuery 核心逻辑

$(document).ready(function() {
  let currentIndex = 0;
  const $items = $('.carousel-item');
  const itemCount = $items.length;

  // 下一张按钮
  $('.carousel-next').click(function() {
    currentIndex = (currentIndex + 1) % itemCount;
    updateCarousel();
  });

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

  // 自动轮播
  let autoPlay = setInterval(() => {
    currentIndex = (currentIndex + 1) % itemCount;
    updateCarousel();
  }, 3000);

  // 鼠标悬停暂停
  $('.carousel').hover(
    () => clearInterval(autoPlay),
    () => autoPlay = setInterval(() => {
      currentIndex = (currentIndex + 1) % itemCount;
      updateCarousel();
    }, 3000)
  );

  function updateCarousel() {
    $('.carousel-inner').css('transform', `translateX(-${currentIndex * 100}%)`);
  }
});

扩展功能实现

添加指示器

<div class="carousel-indicators">
  <span class="indicator active" data-index="0"></span>
  <span class="indicator" data-index="1"></span>
  <span class="indicator" data-index="2"></span>
</div>
$('.indicator').click(function() {
  currentIndex = $(this).data('index');
  updateCarousel();
  updateIndicators();
});

function updateIndicators() {
  $('.indicator').removeClass('active');
  $(`.indicator[data-index="${currentIndex}"]`).addClass('active');
}

淡入淡出效果 修改 CSS 和 JavaScript:

jquery 走马灯

.carousel-inner {
  position: relative;
}
.carousel-item {
  position: absolute;
  opacity: 0;
  transition: opacity 1s ease;
}
.carousel-item.active {
  opacity: 1;
}
function updateCarousel() {
  $('.carousel-item').removeClass('active');
  $($items[currentIndex]).addClass('active');
}

响应式处理

function initCarousel() {
  const carouselWidth = $('.carousel').width();
  $('.carousel-item').width(carouselWidth);
}

$(window).resize(initCarousel);
initCarousel();

注意事项

  • 确保 jQuery 库已正确引入
  • 图片路径需要根据实际项目调整
  • 过渡效果时间可根据需求修改
  • 移动端建议添加触摸事件支持
  • 对于大量图片建议实现懒加载

标签: 走马灯jquery
分享给朋友:

相关文章

jquery文档

jquery文档

以下是关于 jQuery 文档的核心内容和资源整理,便于快速查阅和使用: jQuery 官方文档 官网地址:jQuery Official Documentation 内容分类:API 参考:包含所…

jquery 插入html

jquery 插入html

jQuery 插入 HTML 的方法 jQuery 提供了多种方法来动态插入 HTML 内容到 DOM 中。以下是几种常用的方法: append() 将内容插入到选定元素的内部末尾。 $("#…

jquery选择

jquery选择

jQuery选择器基础 jQuery选择器基于CSS选择器语法,用于快速定位和操作DOM元素。通过$()或jQuery()函数传入选择器字符串实现。 常见选择器类型: 元素选择器:$("p") 选…

jquery 添加

jquery 添加

jQuery 添加元素的方法 动态添加 HTML 内容 使用 append()、prepend()、after() 或 before() 方法可以在 DOM 中插入新元素。 // 在元素内部末尾…

加载jquery

加载jquery

加载 jQuery 的方法 通过 CDN 加载 推荐使用官方或公共 CDN(内容分发网络)加载 jQuery,速度快且稳定。将以下代码添加到 HTML 文件的 <head> 或 <b…

使用jquery

使用jquery

引入jQuery库 在HTML文件中通过<script>标签引入jQuery库。可以从CDN加载,例如: <script src="https://code.jquery.com/…

最新文章
  • java子类如何调用父类的方法

    2026-04-09 08:54:50

  • java如何定义一个类

    2026-04-09 08:51:25

  • java 如何四舍五入

    2026-04-09 08:49:47

  • java如何四舍五入

    2026-04-09 08:48:15

  • java如何输出数组中的数组

    2026-04-09 08:45:31

标签列表
  • vue (13931)
  • 原理 (626)
  • 分页 (603)
  • 跳转 (582)
  • 页面 (1094)
  • 路由 (650)
  • 列表 (473)
  • 功能 (1256)
  • 文件 (456)
  • 项目 (532)
  • 菜单 (444)
  • 组件 (1026)
  • 表格 (673)
  • 数据 (497)
  • 图片 (790)
  • js (4916)
  • 如何实现 (1693)
  • 效果 (625)
  • react (3311)
  • jquery (2238)
  • css (2728)
  • php (4572)
  • java (3021)
  • uniapp (1363)
  • elementui (828)

陕ICP备2023000799号  网站地图

Powered By Z-BlogPHP. Theme by TOYEAN.