当前位置:首页 > jquery

jquery轮播图代码

2026-02-03 18:15:01jquery

jquery轮播图代码

以下是一个基于jQuery实现的简单轮播图代码示例,包含自动播放和手动切换功能:

jquery轮播图代码

HTML结构

<div class="slider-container">
  <div class="slider">
    <img src="image1.jpg" class="slide active">
    <img src="image2.jpg" class="slide">
    <img src="image3.jpg" class="slide">
  </div>
  <button class="prev-btn">←</button>
  <button class="next-btn">→</button>
  <div class="dots-container"></div>
</div>

CSS样式

.slider-container {
  position: relative;
  width: 800px;
  height: 400px;
  margin: 0 auto;
  overflow: hidden;
}

.slider {
  display: flex;
  transition: transform 0.5s ease;
}

.slide {
  min-width: 100%;
  height: 400px;
  object-fit: cover;
  display: none;
}

.slide.active {
  display: block;
}

.prev-btn, .next-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
}

.prev-btn {
  left: 10px;
}

.next-btn {
  right: 10px;
}

.dots-container {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #bbb;
  margin: 0 5px;
  cursor: pointer;
}

.dot.active {
  background: #333;
}

jQuery实现

$(document).ready(function() {
  // 初始化小圆点
  $('.slide').each(function(index) {
    $('.dots-container').append('<div class="dot" data-index="'+index+'"></div>');
  });
  $('.dot:first').addClass('active');

  // 自动播放设置
  let interval = setInterval(nextSlide, 3000);

  // 下一张
  function nextSlide() {
    const current = $('.slide.active');
    const next = current.next('.slide').length ? current.next('.slide') : $('.slide:first');

    current.removeClass('active');
    next.addClass('active');
    updateDots();
  }

  // 上一张
  function prevSlide() {
    const current = $('.slide.active');
    const prev = current.prev('.slide').length ? current.prev('.slide') : $('.slide:last');

    current.removeClass('active');
    prev.addClass('active');
    updateDots();
  }

  // 更新小圆点状态
  function updateDots() {
    const index = $('.slide.active').index();
    $('.dot').removeClass('active').eq(index).addClass('active');
  }

  // 按钮事件
  $('.next-btn').click(function() {
    clearInterval(interval);
    nextSlide();
    interval = setInterval(nextSlide, 3000);
  });

  $('.prev-btn').click(function() {
    clearInterval(interval);
    prevSlide();
    interval = setInterval(nextSlide, 3000);
  });

  // 小圆点点击事件
  $('.dot').click(function() {
    clearInterval(interval);
    const index = $(this).data('index');
    $('.slide').removeClass('active').eq(index).addClass('active');
    updateDots();
    interval = setInterval(nextSlide, 3000);
  });

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

功能说明

  • 自动轮播:每3秒切换一次图片
  • 左右箭头按钮可手动切换
  • 底部小圆点指示器可直接跳转到指定图片
  • 鼠标悬停时暂停自动播放
  • 使用CSS过渡效果实现平滑切换

自定义选项

修改以下参数可调整轮播行为:

  • 自动播放间隔时间:setInterval(nextSlide, 3000)中的3000(毫秒)
  • 过渡动画时间:CSS中的transition: transform 0.5s ease中的0.5s
  • 轮播图尺寸:修改CSS中的width和height值

标签: 代码jquery
分享给朋友:

相关文章

vue怎么实现文本代码实现

vue怎么实现文本代码实现

Vue 实现文本代码展示的方法 在 Vue 中展示代码块或格式化文本,可以通过多种方式实现。以下是几种常见方法: 使用 <pre> 和 <code> 标签 最简单的原生 HT…

jquery和vue的区别

jquery和vue的区别

jQuery 和 Vue.js 的区别 jQuery 和 Vue.js 是两种不同的前端技术,分别适用于不同的场景和开发需求。以下是它们的主要区别: 设计理念 jQuery 是一个轻量级的 Java…

jquery和vue的区别

jquery和vue的区别

核心设计理念 jQuery是一个基于DOM操作的轻量级JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计等任务。它采用命令式编程风格,需要手动操作DOM元素。 Vue是一个渐进…

js jquery

js jquery

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

jquery 判断

jquery 判断

jQuery 判断元素是否存在 使用 jQuery 判断元素是否存在通常通过检查选择器匹配的元素长度来实现。如果长度大于 0,表示元素存在;否则不存在。 if ($('selector').leng…

jquery样式

jquery样式

jQuery 样式操作基础 jQuery 提供了多种方法来操作 HTML 元素的样式,包括直接修改 CSS 属性、添加/移除类名等。以下是常见的样式操作方法: 修改 CSS 属性 使用 css()…