【Web前端】轮播图

发布时间:2026/11/14 22:13:11

【Web前端】轮播图 学前端到了一定阶段总会想动手写点能看到效果的东西。轮播图就是一个特别好的练手项目——它不复杂但涵盖了布局、定位、事件、DOM操作、定时器等多个知识点写完之后对前端基础的理解会扎实很多。 这篇文章就从我写的一个小米商城风格轮播图出发把实现思路和核心代码完整拆解一遍。最终效果预览- 3张图片自动轮播每3秒切换一张 - 左右箭头点击切换上一张/下一张 - 底部小圆点指示当前图片点击可跳转 - 鼠标悬停暂停自动播放移出继续整体流程分三步1. HTML结构一个容器 .box 包裹图片列表 ul外加箭头和小圆点2. CSS样式容器 overflow: hidden 只显示一张ul 宽度为图片总宽度3. JS逻辑点击箭头或小圆点时改变 ul 的 transform: translateX() 值1.HTML结构div classbox idbox !-- 图片列表 -- ul idul li img srchttps://cdn.cnbj1.fds.api.mi-img.com/mi-mall/72d2f359aa032bc5f6372b3022b39a92.jpg?thumb1w2146h805fwebpq90 alt小米15 /li li img srchttps://cdn.cnbj1.fds.api.mi-img.com/mi-mall/1484efbc954604f2fff16aa8a7447c3d.jpg?thumb1w2146h805fwebpq90 altRedmi K80 /li li img srchttps://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2481d91110fb14bbfe2b8c07325cff97.jpg?thumb1w2146h805fwebpq90 alt小米家电 /li /ul !-- 左右箭头 -- div classxiaoyu idleftBtnlt;/div div classdayu idrightBtngt;/div !-- 底部小圆点 -- div classpoint idpoint div classactive/div div/div div/div /div /div2.CSS核心第一步容器做窗口.box { width: 100%; max-width: 2146px; height: 805px; margin: 0 auto; position: relative; overflow: hidden; /* 关键超出的部分隐藏只显示一张图 */ }第二步图片横向排列.box ul { width: 6438px; /* 2146 × 3张图 */ height: 805px; } .box ul li { float: left; /* 横向排列 */ width: 2146px; height: 805px; } .box ul li img { width: 100%; height: 100%; display: block; }核心逻辑ul宽度 单张图片宽度 × 图片数量所有li左浮动后横成一行。第三步箭头定位.arrow { position: absolute; top: 50%; transform: translateY(-50%); /* 垂直居中 */ cursor: pointer; } .arrow-left { left: 10px; } .arrow-right { right: 10px; } .arrow:hover { background-color: rgba(0, 0, 0, 0.4); color: #fff; }第四步小圆点居中.point { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); /* 水平居中 */ display: flex; gap: 14px; } .point div { width: 17px; height: 17px; border-radius: 50%; background-color: #8e8f90; cursor: pointer; } .point .active { background-color: #ff6700; /* 当前图片高亮为橙色 */ }3. JavaScript核心第一步获取元素var ul document.getElementById(ul); var points document.querySelectorAll(.point div); var leftBtn document.getElementById(leftBtn); var rightBtn document.getElementById(rightBtn); var box document.getElementById(box); var imgWidth 2146; // 单张图片宽度 var total 3; // 图片总数 var index 0; // 当前显示第几张从0开始 var timer null; // 定时器第二步核心切换函数function goTo(idx) { // 循环边界处理 if (idx 0) idx total - 1; else if (idx total) idx 0; index idx; // 核心移动整行图片 ul.style.transition transform 0.5s ease; ul.style.transform translateX(- (index * imgWidth) px); // 更新小圆点样式 for (var i 0; i points.length; i) { points[i].className ; if (i index) points[i].className active; } }核心逻辑就这一句ul.style.transform translateX(- (index * imgWidth) px);index偏移量显示效果00px显示第1张1-2146px显示第2张2-4292px显示第3张第三步自动播放function next() { goTo(index 1); } function prev() { goTo(index - 1); } function startAutoPlay() { timer setInterval(next, 3000); // 每3秒切换 } function stopAutoPlay() { clearInterval(timer); }第四步绑定事件// 右箭头 rightBtn.addEventListener(click, function() { stopAutoPlay(); next(); startAutoPlay(); // 手动点击后重新计时 }); // 左箭头 leftBtn.addEventListener(click, function() { stopAutoPlay(); prev(); startAutoPlay(); }); // 小圆点点击跳转 for (var i 0; i points.length; i) { (function(j) { points[j].addEventListener(click, function() { stopAutoPlay(); goTo(j); startAutoPlay(); }); })(i); } // 鼠标悬停暂停 / 移出继续 box.addEventListener(mouseenter, stopAutoPlay); box.addEventListener(mouseleave, startAutoPlay); // 启动自动播放 startAutoPlay();总结轮播图的实现核心就三件事CSSoverflow: hidden做窗口transform: translateX()做移动JS改变translateX的值来切换图片用setInterval实现自动播放事件箭头/圆点控制切换鼠标悬停控制暂停/继续功能清单功能实现方式自动轮播setInterval(next, 3000)鼠标悬停暂停mouseenter清除定时器左右箭头切换点击修改index值小圆点跳转点击直接跳转到对应图片循环播放边界判断到头跳回第一张
延伸阅读

更多相关文章

2026/11/6 15:47:20

Hotkey Detective:3步定位Windows热键冲突的终极免费方案

Hotkey Detective:3步定位Windows热键冲突的终极免费方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否…

2026/11/9 8:29:21

Linux chcon 命令超详细教程|SELinux 安全上下文修改实战

1. 命令简介chcon(Change Context)命令用于修改文件或目录的 SELinux 安全上下文。SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)安全机制,通过为系统中的每个对象(文件…

2026/11/14 22:10:58

招聘常说的电工证证丢了怎么补办

电工证在外省能转回来吗?考前押题帮你轻松拿证 之前考的证在外省能不能转过来?这个问题几乎每个在外地打工的电工朋友都问过。特别是像我们信阳水利工程从业者,常年奔波在工地,手里那张电工证要是不能异地使用,真的挺头疼。其实现在国家已经打通了全国特…

2026/11/14 22:10:58

剑河电工证复审在哪怎么考电子证书

剑河电工证复审在哪怎么考电子证书 你是不是也在为 剑河电工证复审在哪 发愁?明明知道要复审,却不知道去哪报名,怕被中介坑、怕走冤枉路、怕交了钱拿不到电子证书?这事儿咱都懂,尤其是咱们一线的电工作业人员,证件不全,工作都干不了,心里更慌。…

2026/11/14 22:10:58

工地太忙根本没时间复习考试 高级电工证是操作证多久拿证全攻略

工地太忙根本没时间复习考试 高级电工证是操作证多久拿证全攻略 工地太忙根本没时间复习考试,这是很多一线电工的共同困扰。尤其是在河南这样的工程大省,水利工程项目密集,工期紧、任务重,让很多电工在考取【高级电工证是操作证】时感到力不从心。你是不…

2026/11/14 22:10:58

高级电工证怎样办理内部消息全公开实操考试心里没底怕挂科

高级电工证怎样办理内部消息全公开实操考试心里没底怕挂科 实操考试心里没底怕挂科,这是很多准备报考高级电工证的朋友共同的焦虑。尤其是第一次接触这类考试,对流程不了解、对考试内容没把握,心里难免打鼓。但你知道吗?其实掌握 内部消息…

2026/11/14 22:10:58

电工证查询序列号ff报名费多少钱?良心建议帮你少走弯路

电工证查询序列号ff报名费多少钱?良心建议帮你少走弯路 你现在正卡在找工作的门槛上,手里没有电工证,连面试机会都难争取。这种焦虑谁懂?别急,这篇【电工证查询序列号ff】的良心建议,能帮你少走弯路,快速拿到证书,顺利上岗。…

2026/11/14 22:05:57

电工证多久能查 考在外省的证千万别踩坑

电工证多久能查 考在外省的证千万别踩坑 之前考的证在外省能不能转过来?这几乎是每个准备报考电工证的人心里最怕的问题。特别是像许昌这样的中小施工企业负责人,手里握着一堆证,但一到外地就发现“卡壳”, 千万别踩坑…

2026/11/13 22:33:32

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/14 0:06:39

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来 之前考的证在外省能不能转过来?这个问题我太熟悉了,作为一名干了十几年的特种作业证书办理从业者,每年都会遇到不少像你一样在外地考了证,回来却发现无法直接使用的学员。别急,今天我就…

2026/11/14 0:06:39

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你不是一个人。在信阳浉河区,很多刚进入工地的电工都面临这样的困境:工作强度大,时间碎片化,根本没有系统复习考试的机会。但电工证是上岗的硬门槛,…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑