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

    jquery无缝轮播

    2026-04-08 15:41:15jquery

    jquery无缝轮播

    jQuery无缝轮播实现方法

    基本HTML结构

    <div class="slider">
      <ul class="slider-list">
        <li><img src="image1.jpg"></li>
        <li><img src="image2.jpg"></li>
        <li><img src="image3.jpg"></li>
      </ul>
    </div>

    CSS样式设置

    .slider {
      width: 600px;
      height: 400px;
      overflow: hidden;
      position: relative;
      margin: 0 auto;
    }
    
    .slider-list {
      width: 3000px;
      position: absolute;
      left: 0;
      top: 0;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .slider-list li {
      float: left;
      width: 600px;
      height: 400px;
    }

    jQuery核心代码

    $(function() {
      var $slider = $('.slider');
      var $list = $('.slider-list');
      var $items = $list.children();
      var itemWidth = $items.width();
      var currentIndex = 0;
      var timer = null;
    
      // 克隆第一个元素并添加到末尾实现无缝效果
      $list.append($items.first().clone());
    
      // 自动轮播函数
      function autoPlay() {
        timer = setInterval(function() {
          currentIndex++;
          $list.animate({left: -currentIndex * itemWidth}, 500, function() {
            if(currentIndex >= $items.length) {
              currentIndex = 0;
              $list.css('left', 0);
            }
          });
        }, 3000);
      }
    
      // 暂停轮播
      function stopPlay() {
        clearInterval(timer);
      }
    
      // 初始化轮播
      autoPlay();
    
      // 鼠标悬停暂停
      $slider.hover(stopPlay, autoPlay);
    });

    增强功能实现

    添加指示器

    jquery无缝轮播

    <div class="slider-indicator">
      <span class="active"></span>
      <span></span>
      <span></span>
    </div>

    更新jQuery代码

    // 更新指示器状态
    function updateIndicator(index) {
      $('.slider-indicator span')
        .removeClass('active')
        .eq(index % $items.length)
        .addClass('active');
    }
    
    // 修改autoPlay函数
    function autoPlay() {
      timer = setInterval(function() {
        currentIndex++;
        $list.animate({left: -currentIndex * itemWidth}, 500, function() {
          if(currentIndex >= $items.length) {
            currentIndex = 0;
            $list.css('left', 0);
          }
          updateIndicator(currentIndex);
        });
      }, 3000);
    }

    响应式处理

    // 窗口大小改变时重置轮播
    $(window).resize(function() {
      itemWidth = $slider.width();
      $items.width(itemWidth);
      $list.css('left', -currentIndex * itemWidth);
    });

    注意事项

    • 确保在DOM加载完成后执行jQuery代码
    • 图片需要预加载避免空白出现
    • 考虑添加触摸事件支持移动端
    • 过渡效果可以使用CSS3 transition替代jQuery animate获得更好性能

    通过以上方法可以实现一个基础的无缝轮播效果,可根据实际需求添加更多功能如导航按钮、淡入淡出效果等。

    标签: jquery
    分享给朋友:

    相关文章

    jquery教程

    jquery教程

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

    jquery文档

    jquery文档

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

    jquery页面

    jquery页面

    jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…

    jquery 添加

    jquery 添加

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

    jquery 选择器

    jquery 选择器

    jQuery 选择器基础语法 jQuery 选择器基于 CSS 选择器语法扩展,用于快速定位 DOM 元素。基本结构为 $("selector") 或 jQuery("selector"),返回一个包…

    jquery 字符串

    jquery 字符串

    jQuery 字符串操作 jQuery 提供了多种方法来处理字符串,尽管原生 JavaScript 已经具备强大的字符串处理能力,但结合 jQuery 可以更方便地操作 DOM 元素中的字符串内容。…

    最新文章
    • 如何用java连接数据库

      2026-04-08 17:37:50

    • java如何写一个接口

      2026-04-08 17:36:24

    • java如何创建线程

      2026-04-08 17:34:54

    • java如何创建文件

      2026-04-08 17:33:32

    • 如何查看java版本

      2026-04-08 17:31:55

    标签列表
    • 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.