• Item 1&…">
    当前位置:首页 > JavaScript

    js实现li轮播

    2026-03-01 09:35:33JavaScript

    实现 li 轮播的 JavaScript 方法

    HTML 结构
    确保有一个包含 li 元素的容器,例如:

    js实现li轮播

    <ul id="slider">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
    <button id="prev">Previous</button>
    <button id="next">Next</button>

    CSS 样式
    为轮播添加基础样式,隐藏非活动项:

    js实现li轮播

    #slider {
      list-style: none;
      padding: 0;
      position: relative;
      height: 200px;
      overflow: hidden;
    }
    #slider li {
      position: absolute;
      width: 100%;
      opacity: 0;
      transition: opacity 0.5s;
    }
    #slider li.active {
      opacity: 1;
    }

    JavaScript 逻辑
    通过切换 active 类控制显示项:

    const slider = document.getElementById('slider');
    const items = slider.querySelectorAll('li');
    const prevBtn = document.getElementById('prev');
    const nextBtn = document.getElementById('next');
    let currentIndex = 0;
    
    // 初始化显示第一项
    items[currentIndex].classList.add('active');
    
    // 下一项函数
    function showNext() {
      items[currentIndex].classList.remove('active');
      currentIndex = (currentIndex + 1) % items.length;
      items[currentIndex].classList.add('active');
    }
    
    // 上一项函数
    function showPrev() {
      items[currentIndex].classList.remove('active');
      currentIndex = (currentIndex - 1 + items.length) % items.length;
      items[currentIndex].classList.add('active');
    }
    
    // 绑定按钮事件
    nextBtn.addEventListener('click', showNext);
    prevBtn.addEventListener('click', showPrev);
    
    // 自动轮播(可选)
    setInterval(showNext, 3000);

    扩展功能:平滑滑动效果

    若需水平滑动效果,修改 CSS 和 JavaScript:

    #slider li {
      position: absolute;
      width: 100%;
      left: 100%;
      transition: left 0.5s;
    }
    #slider li.active {
      left: 0;
    }
    #slider li.prev {
      left: -100%;
    }
    function showNext() {
      items[currentIndex].classList.remove('active');
      items[currentIndex].classList.add('prev');
      currentIndex = (currentIndex + 1) % items.length;
      items[currentIndex].classList.add('active');
    }

    注意事项

    • 确保 li 的父容器有明确的宽度和 overflow: hidden
    • 若需无限循环,使用取模运算(%)处理索引越界。
    • 自动轮播时,建议在用户交互时清除定时器以避免冲突。

    标签: jsli
    分享给朋友:

    相关文章

    js 实现倒计时

    js 实现倒计时

    实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval…

    js分组实现

    js分组实现

    分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

    js实现tab选项卡切换

    js实现tab选项卡切换

    实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取…

    jquery js

    jquery js

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

    js实现点击显示和隐藏

    js实现点击显示和隐藏

    实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

    js实现变形

    js实现变形

    使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…