手动轮播图,为轮播图中的一种,轮播图主要有无缝轮播,手动轮播,延迟轮播,切换轮播等等。。。
轮播图主要用于展现图片,新出商品,词条,又能美观网页。給网页中增加动态效果。
手动轮播,是小编认为最简单的一种轮播方式,既能左右翻页,还能通过悬浮按钮,快速预览图片,所以今天就给大家写一个原生js手动轮播图。
一,利用JavaScript制作手动轮播图,首先排版。
引入默认样式表(可以手写);
1 | <link rel= "stylesheet" href= "css/Default style sheet.css" />//本博客有css默认样式表可以下载。 |
div排版布局:
1 2 | <body><br> <div id= "box" ><br> <div id= "lunbo" ><img src= "img/1.jpg" id= "img" /></div><br> <div id= "left" ><</div><br> <div id= "right" >></div><br> <div id= "radiu" ><br> <ul><br> <li> 1 </li><br> <li> 2 </li><br> <li> 3 </li><br> <li> 4 </li><br> <li> 5 </li><br> </ul><br> </div><br> </div> </body> |
二,定义div的CSS样式,给div设置宽高,定位。
1 2 3 | <style> body{<br> background : darkturquoise;<br> }<br> #box{<br> height : 320px ;<br> width : 480px ;<br> margin : 3px auto ;<br> border : 2px solid red ;<br> }<br> #lunbo{<br> height : 292px ;<br> width : 453px ;<br> border : 1px solid yellow;<br> margin : 0px auto ;<br> position : relative ;<br> }<br> # left {<br> height : 60px ;<br> width : 60px ;<br> font-size : 60px ;<br> text-align : center ;<br> line-height : 60px ;<br> position : absolute ;<br> top : 150px ;<br> left : 440px ;<br> color : black ;<br> }<br> # right {<br> height : 60px ;<br> width : 60px ;<br> font-size : 60px ;<br> text-align : center ;<br> line-height : 60px ;<br> position : absolute ;<br> top : 150px ;<br> left : 880px ;<br> color : black ;<br> }<br> #radiu{<br> height : 30px ;<br> width : 240px ;<br> text-align : center ;<br> <br> margin : 0px auto ;<br> }<br> #radiu li{<br> float : left ;<br> background : white ;<br> height : 30px ;<br> width : 30px ;<br> line-height : 30px ;<br> border-radius: 50% ;<br> margin-right : 6px ;<br> }<br> .active{<br> background : orange;<br> color : ;<br> } </style> |
原生js代码:
1 2 3 | <script> window.onload= function (){<br> var ridiu=document.getElementById( "radiu" )<br> var right=document.getElementById( "right" );<br> var left=document.getElementById( "left" )<br> var img=document.getElementById( "img" );<br> var oli=ridiu.getElementsByTagName( "li" )<br> var arry=[ 'img/1.jpg' , 'img/2.jpg' , 'img/3.jpg' , 'img/4.jpg' , 'img/5.jpg' ]<br> var a= null ;<br> <br> right.onclick= function (){<br> a++<br> if (a>arry.length-1){<br> a=0;<br> }<br> <br> img.src=arry[a]<br> }<br> left.onclick= function (){<br> a--<br> if (a<0){<br> a=arry.length-1;<br> }<br> <br> img.src=arry[a]<br> <br> }<br> <br> for ( var i=0;i<oli.length;i++) {<br> <br> oli[i].onclick= function (){<br> a++<br> if (a==arry.length){<br> a=0;<br> }<br> img.src=arry[a];<br> }<br> <br> }<br> <br> } </script><br> |
HTML全部效果代码:
1 | <!DOCTYPE html><br><html><br> <head><br> <meta charset= "utf-8" ><br> <title>手动轮播图</title><br> <link rel= "stylesheet" href= "css/Default style sheet.css" /><br> <style><br> body{<br> background: darkturquoise;<br> }<br> #box{<br> height:320px;<br> width:480px;<br> margin: 3px auto;<br> border: 2px solid red;<br> }<br> #lunbo{<br> height: 292px;<br> width:453px;<br> border: 1px solid yellow;<br> margin: 0px auto;<br> position: relative;<br> }<br> #left{<br> height: 60px;<br> width: 60px;<br> font-size: 60px;<br> text-align: center;<br> line-height: 60px;<br> position: absolute;<br> top:150px;<br> left: 440px;<br> color: black;<br> }<br> #right{<br> height: 60px;<br> width: 60px;<br> font-size: 60px;<br> text-align: center;<br> line-height: 60px;<br> position: absolute;<br> top:150px;<br> left: 880px;<br> color: black;<br> }<br> #radiu{<br> height: 30px;<br> width: 240px;<br> text-align: center;<br> <br> margin: 0px auto;<br> }<br> #radiu li{<br> float: left;<br> background: white;<br> height: 30px;<br> width: 30px;<br> line-height: 30px;<br> border-radius:50% ;<br> margin-right:6px;<br> }<br> .active{<br> background: orange;<br> color: ;<br> }<br> </style><br> <script><br> window.onload=function(){<br> var ridiu=document.getElementById("radiu")<br> var right=document.getElementById("right");<br> var left=document.getElementById("left")<br> var img=document.getElementById("img");<br> var oli=ridiu.getElementsByTagName("li")<br> var arry=['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg','img/5.jpg']<br> var a=null;<br> <br> right.onclick=function(){<br> a++<br> if(a>arry.length-1){<br> a=0;<br> }<br> <br> img.src=arry[a]<br> }<br> left.onclick=function(){<br> a--<br> if(a<0){<br> a=arry.length-1;<br> }<br> <br> img.src=arry[a]<br> <br> }<br> <br> for (var i=0;i<oli.length;i++) {<br> <br> oli[i].onclick=function(){<br> a++<br> if(a==arry.length){<br> a=0;<br> }<br> img.src=arry[a];<br> }<br> <br> }<br> <br> }<br> </script><br> </head><br> <body><br> <div id="box"><br> <div id="lunbo"><img src="img/1.jpg" id="img"/></div><br> <div id="left"><</div><br> <div id="right">></div><br> <div id="radiu"><br> <ul><br> <li>1</li><br> <li>2</li><br> <li>3</li><br> <li>4</li><br> <li>5</li><br> </ul><br> </div><br> </div><br> </body><br></html><br> |
效果图:
body{
background: darkturquoise;
}
#box{
height:320px;
width:480px;
margin: 3px auto;
border: 2px solid red;
}
#lunbo{
height: 292px;
width:453px;
border: 1px solid yellow;
margin: 0px auto;
position: relative;
}
#left{
height: 60px;
width: 60px;
font-size: 60px;
text-align: center;
line-height: 60px;
position: absolute;
top:150px;
left: 440px;
color: black;
}
#right{
height: 60px;
width: 60px;
font-size: 60px;
text-align: center;
line-height: 60px;
position: absolute;
top:150px;
left: 880px;
color: black;
}
#radiu{
height: 30px;
width: 240px;
text-align: center;
margin: 0px auto;
}
#radiu li{
float: left;
background: white;
height: 30px;
width: 30px;
line-height: 30px;
border-radius:50% ;
margin-right:6px;
}
.active{
background: orange;
color: ;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!