JavaScript实现简单图片轮播效果

发布时间 - 2026-01-11 02:54:00    点击率:

本文实例为大家分享了js实现简单图片轮播的具体代码,最终实现效果图

代码块

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
     <style>
    * {
      margin: 0;
      padding: 0
    }

    ul {
      list-style: none
    }

    img {
      vertical-align: top
    }

    .box {
      width: 490px;
      height: 170px;
      margin: 100px auto;
      padding: 5px;
      border: 1px solid #ccc;
    }

    .inner {
      width: 490px;
      height: 170px;
      background-color: pink;
      overflow: hidden;
      position: relative;
    }

    .inner ul {
      width: 1000%;
      position: absolute;
      top: 0;
      left: 0;
    }

    .inner li {
      float: left;
    }

    .square {
      position: absolute;
      right: 10px;
      bottom: 10px;
    }

    .square span {
      display: inline-block;
      width: 16px;
      height: 16px;
      background-color: #fff;
      text-align: center;
      line-height: 16px;
      cursor: pointer;
    }

    .square span.current {
      background-color: orangered;
      color: #fff;
    }
  </style>
  </head>
  <body>
    <div class="box" id="box">
      <div class="inner">
        <ul>
          <li><a href="#"><img src="images/01.jpg" /></a></li>
          <li><a href="#"><img src="images/02.jpg" /></a></li>
          <li><a href="#"><img src="images/03.jpg" /></a></li>
          <li><a href="#"><img src="images/04.jpg" /></a></li>
          <li><a href="#"><img src="images/05.jpg" /></a></li>
        </ul>
        <div class="square">
          <span class="current">1</span>
          <span>2</span>
          <span>3</span>
          <span>4</span>
          <span>5</span>
        </div>
      </div>
    </div>


  <script type="text/javascript">
    //鼠标经过按钮 按钮排他
    var box = document.getElementById("box");
    var inner = box.children[0];      //获取box下的第一个元素,也就是inner
    var ul = inner.children[0];       //获取inner下的ul
    var squareList = inner.children[1];   //获取inner下的第二个元素
    var squares = squareList.children;   //获取所有的按钮
    var imgWidth = inner.offsetWidth;
//   alert(imgWidth);
    //给每个按钮注册鼠标经过事件
    for(var i=0; i<squares.length; i++){
      squares[i].index = i;      //把索引保存在自定义属性中
      squares[i].onmouseover = function(){  //鼠标经过事件
        //排他 干掉所有人 
        for(var j=0; j<squares.length; j++){
          squares[j].className = "";
        }
        //留下我自己
        this.className = "current";
        //以动画的方式把ul移动到指定的位置
        //目标 和当前按钮索引有关,和图片宽度有关 而且是负数
        var target = -this.index * imgWidth;  //获取到索引
        animate(ul,target);
      }
    }


    function animate(obj, target) {
      clearInterval(obj.timer);
      obj.timer = setInterval(function () {
        var step = 20;
        var step = obj.offsetLeft < target ? step : -step;
        if (Math.abs(obj.offsetLeft - target) > Math.abs(step)) {
          obj.style.left = obj.offsetLeft + step + "px";
        } else {
          obj.style.left = target + "px";
          clearInterval(obj.timer);
        }
      }, 15)
    }


  </script>



  </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 图片轮播  # js实现图片无缝循环轮播  # JS实现图片轮播效果实例详解【可自动和手动】  # JS实现分页浏览横向图片(类轮播)实例代码  # 实现图片首尾平滑轮播(JS原生方法—节流)  # JS 实现banner图片轮播效果(鼠标事件)  # 一个简易的js图片轮播效果  # 利用vueJs实现图片轮播实例代码  # JS组件库AlloyTouch实现图片轮播过程解析  # 鼠标  # 大家多多  # 第一个  # 第二个  # 自定义  # 大家分享  # height  # li  # px  # auto  # float  # top  # square  # vertical  # width  # box  # absolute  # hidden  # overflow  # relative 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在橙子建站上传落地页?操作指南详解  魔方云NAT建站如何实现端口转发?  如何彻底卸载建站之星软件?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel观察者模式如何使用_Laravel Model Observer配置  如何快速选择适合个人网站的云服务器配置?  WordPress 子目录安装中正确处理脚本路径的完整指南  个人摄影网站制作流程,摄影爱好者都去什么网站?  微信小程序 canvas开发实例及注意事项  *服务器网站为何频现安全漏洞?  晋江文学城电脑版官网 晋江文学城网页版直接进入  青岛网站建设如何选择本地服务器?  如何在阿里云通过域名搭建网站?  JS经典正则表达式笔试题汇总  Swift中循环语句中的转移语句 break 和 continue  网站制作免费,什么网站能看正片电影?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel storage目录权限问题_Laravel文件写入权限设置  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  如何正确选择百度移动适配建站域名?  如何登录建站主机?访问步骤全解析  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel中的Facade(门面)到底是什么原理  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel如何升级到最新版本?(升级指南和步骤)  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  米侠浏览器网页背景异常怎么办 米侠显示修复  Python自动化办公教程_ExcelWordPDF批量处理案例  javascript基本数据类型及类型检测常用方法小结  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  南京网站制作费用,南京远驱官方网站?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何快速登录WAP自助建站平台?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  🚀拖拽式CMS建站能否实现高效与个性化并存?  Java类加载基本过程详细介绍  大型企业网站制作流程,做网站需要注册公司吗?  Android使用GridView实现日历的简单功能  制作旅游网站html,怎样注册旅游网站?  iOS UIView常见属性方法小结  利用python获取某年中每个月的第一天和最后一天  如何在VPS电脑上快速搭建网站?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  详解jQuery停止动画——stop()方法的使用  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  javascript如何操作浏览器历史记录_怎样实现无刷新导航