JavaScript 实现基础轮播图效果

作者:异步漫步

时间:2026-10-24

浏览:636

本文介绍了使用原生 JavaScript 实现轮播图效果的具体代码。通过 HTML 构建图片列表与导航结构,利用 JS 获取 DOM 元素并管理索引状态。实现了点击左右箭头切换图片、小圆点导航以及鼠标悬停暂停、移开自动播放的交互功能,为前端开发提供参考。

文章目录

轮播图实现概述

本文分享了一段使用 JavaScript 实现轮播图效果的完整代码示例,供开发者参考学习。

HTML 结构搭建

首先构建 HTML 结构部分。


<div id="box">
    <ul>
      <li class="show"><img src="img/1.jpg" alt=""></li>
      <li><img src="img/2.jpg" alt=""></li>
      <li><img src="img/3.jpg" alt=""></li>
      <li><img src="img/4.jpg" alt=""></li>
      <li><img src="img/5.jpg" alt=""></li>
      <li><img src="img/6.jpg" alt=""></li>
    </ul>
    <img src="img/l.png" alt="" id="lef">
    <img src="img/r.png" alt="" id="rig">
    <ol>
      <li class="focus" data-i = "0"></li>
      <li data-i = "1"></li>
      <li data-i = "2"></li>
      <li data-i = "3"></li>
      <li data-i = "4"></li>
      <li data-i = "5"></li>
    </ol>
</div>

JavaScript 逻辑实现

接着编写核心的 JavaScript 逻辑部分。


 <script>
    var liList = document.querySelectorAll("#box ul li")
    var olList = document.querySelectorAll("#box ol li")
    var rig = document.getElementById("rig")
    var lef = document.getElementById("lef")

    var index = 0
    function setLi(){
      for(var i = 0;i <liList.length;i++){
        liList[i].className = ""
        olList[i].className = ""
      }
      liList[index].className = "show"
      olList[index].className = "focus"
    }
    // 向右
    rig.onclick = function(){
      if(index !== 5){
        index++
      }
      if(index === 5){
        index = 0
    }
    setLi()
  }
  //向左
  lef.onclick = function(){
      
      if(index !== 0){
        index--
      }
      if(index === 0){
        index = 5
    }
    setLi()
  }
  //圆点
  for(var i = 0;i < olList.length;i++){
    olList[i].onclick = function(){
      index = this.getAttribute("data-i")
      setLi()
    }
  }
  //计时
  var autoPlay = setInterval(
    function(){
      rig.click()
    },3000)

  //鼠标划上停止播放
  var box = document.querySelector("div")
  box.onmouseenter = function(){
    clearInterval(autoPlay)
  }

  // 鼠标移走继续播放
  box.onmouseleave = function(){
    autoPlay = setInterval(
    function(){
      rig.click()
    },3000)
  }
</script>

以上内容即为轮播图实现的全部代码与说明,希望能对读者的学习有所帮助,也欢迎继续支持本站获取更多技术资源。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章