本文介绍如何使用 JavaScript 结合 CSS 和 HTML 实现一个基础的 Banner 图片轮播组件。通过监听鼠标点击事件,分别处理左右箭头切换图片和小圆点导航切换图片的逻辑,展示完整的代码实现与结构。
预期实现的功能
一、预期实现的功能
1. 支持点击左侧和右侧箭头按钮进行图片切换
2. 支持点击底部小圆点导航按钮进行图片切换
效果展示
二、效果展示

三、代码实现
代码实现
1. CSS 样式部分
<style type="text/css">
body,img,span,ul,li{margin: 0;padding: 0;}
#div1{width: 600px;height: 350px;margin: 150px auto;border: 10px solid #eee;position: relative;}
img{width: 600px;height: 350px;}
span{display: inline-block;position: absolute;width: 50px;height: 50px;border-radius: 25px;background:rgba(0,0,0,.3); font-size: 30px;line-height: 50px;text-align: center;cursor: pointer;color: white;}
span:hover{background:rgba(255,255,255,.5);color:black;transform:scale(1.3);}
span#L{left: 10px;top: 150px;}
span#R{right: 10px;top: 150px;}
#div1 #ul{position: absolute;bottom: 10px;left: 250px;width: 125px;height: 20px;}
#div1 #ul li{list-style: none;float: left;height: 20px;width: 20px;border-radius: 10px;background:rgba(255,255,255,.5); margin-right: 5px;cursor: pointer;}
#div1 #ul .active{background:rgba(0,0,0,.5);}
</style>
2. HTML 结构部分
<body>
<div id="div1">
<img src="" alt="">
<span id="L"><</span>
<span id="R">></span>
<ul id="ul">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
3. JavaScript 逻辑部分
<script type="text/javascript">
window.onload=function(){
var div1=document.getElementById('div1');
var oImg=div1.getElementsByTagName('img')[0];
var spanL=document.getElementById('L');
var spanR=document.getElementById('R');
var oUl=document.getElementById('ul');
var oLi=oUl.getElementsByTagName('li');
var arrImg=['img2/1.jpg','img2/2.jpg','img2/3.jpg','img2/4.jpg','img2/5.jpg'];
var num=0;
var oldLi=0;
function fn(num) {
oImg.src=arrImg[num];
}
fn(0);
function fnLi(num){
oLi[oldLi].className='';
oLi[num].className='active';
oldLi=num;
}
fnLi(0);
/*点击左右span图片切换*/
/*点击左右span时li切换*/
spanL.onclick=function(){
if (num<1) {
num=arrImg.length-1;
fn(num);
fnLi(num);
}else{
num--;
fnLi(num);
fn(num);
}
}
spanR.onclick=function(){
if (num==arrImg.length-1) {
num=0;
fn(num);
fnLi(num);
}else{
num++;
fnLi(num);
fn(num);
}
}
/*点击li实现图片切换*/
for (var i = 0; i < oLi.length; i++) {
oLi[i].index=i;
oLi[i].onclick=function(){
fn(this.index);
fnLi(this.index);
}
}
}
</script>
总结
以上内容介绍了基于鼠标事件实现图片轮播的方法,希望能为读者提供帮助。如有任何疑问,欢迎留言,作者将及时回复。感谢对本站的支持!