用JS写的简单轮播特效
效果如下
功能分析
1.每隔1秒换一张图片
2.鼠标移入停止切换、鼠标离开继续切换
3.鼠标移入到数字上面的时候,显示和数字对应的图片,并且停止切换,被选中的数字,背景显示橙色
4.鼠标离开数字,从该数字后面继续显示
代码如下
<html> <head> <title></title> <meta charset="utf-8"> <style type="text/css"> div,img,ul,li{margin:0;padding:0;} #pic{width:480px;height:300px;margin: 100px auto} #pic img{width: 100%;height: 300px;border: 1px solid #ccc} #pic li{list-style: none;float: left;border:1px solid orange;width:58px;height:30px;text-align: center;line-height: 30px} </style> </head> <body> <div id="pic"> <img src="img/1.jpg"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> </ul> </div> <script type="text/javascript"> //1. 设置定时器,每隔1000毫秒执行changePic函数 var interID = setInterval(changePic, 1000); var oImg = document.getElementsByTagName('img')[0]; //3. 鼠标移入到数字上的时候,显示对应的图片 var oLis = document.getElementsByTagName('li'); var count = 1; function changePic(){ oImg.src = 'img/'+count+'.jpg'; //先让所有的li标签背景都为空 for(var i=0;i<oLis.length;i++){ oLis[i].style.background = ''; } //让和图片序号对应的li标签背景显示橙色 count-1 oLis[count-1].style.background = 'orange'; count ++; if(count>8){ count = 1; } } //鼠标移入停止播放 oImg.onmouseover = function(){ clearInterval(interID); } //鼠标离开继续播放 oImg.onmouseout = function(){ clearInterval(interID); interID = setInterval(changePic, 1000); } console.log(oLis.length); for(var i=0;i<oLis.length;i++){ //给每个li标签增加属性oindex保存当前的索引 oLis[i].oindex = i; oLis[i].onmouseover = function(){ //console.log(i); // //停止播放 clearInterval(interID); //设置li标签的背景颜色 this.style.background = 'orange'; count = this.oindex+1; changePic(); } oLis[i].onmouseout = function(){ clearInterval(interID); interID = setInterval(changePic, 1000); } } </script> </body> </html>
http://blog.xueyao.tech
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异