手撸的简单轮播图,界面虽然丑了,但还实用~!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{margin: 0px; padding: 0px;}
.div{
width: 400px;
height: 280px;
margin-top: 130px;
margin-left: 240px;
float: top;
position: relative;
}
img{
width: 400px;
height: 260px;
margin-left: 240px;
float: left;
}
.left{
width: 25px;
height: 25px;
background-color: coral;
text-align: center;
padding-top: 5px;
margin-top: 110px;
position:absolute;
}
.right{
width: 25px;
height: 25px;
background-color: blue;
text-align: center;
padding-top: 5px;
margin-top: 110px;
margin-left: 375px;
position:absolute;
}
.btn{
height: 20px;
margin-top: 235px;
margin-left: 15px;
position:absolute;
}
.point{
width: 8px;
height: 8px;
background-color: darkblue;
float: left;
margin-top: 5px;
margin-left: 5px;
border: 0.5px solid white;
border-radius:8px;
}
.pointSel{
width: 8px;
height: 8px;
background-color: white;
float: left;
margin-top: 5px;
margin-left: 5px;
border: 0.5px solid white;
border-radius:8px;
}
</style>
</head>
<body>
<img src="./images/11.jpg">
<div class="div">
<div class="left"></div>
<div class="right"></div>
<div class="btn">
<!-- <div class="point"></div>
<div class="point"></div>
<div class="point"></div> -->
</div>
</div>
</body>
<script src="./jquery-3.5.0.min.js"></script>
<script>
$(function(){
//当前图片下标
var slideindex = 0;
//定时器
var timer;
//初始化图片数据
var imgs = ['./images/11.jpg',
'./images/22.jpg',
'./images/33.jpg',
'./images/44.jpg'];
for(var i=0;i<imgs.length;i++){
if(i==0){
$("<div></div>").appendTo("div.btn").addClass("pointSel");
}else{
$("<div></div>").appendTo("div.btn").addClass("point");
}
}
//自动轮播和并开启or停止定时器
function autoplay() { //创建设置定时器的方法
timer = setInterval(function() {
//移除当前下标的index选择样式
$(".btn>div").eq(slideindex).removeClass("pointSel")
//添加非选择样式
$(".btn>div").eq(slideindex).addClass("point");
slideindex++; //index递增
if (slideindex === 4) slideindex = 0; //设置循环
//添加选择样式,
$(".btn>div").eq(slideindex).addClass("pointSel");
//显示当前下标图片
$("img").attr('src',imgs[slideindex]);
console.log("当前下标:"+slideindex);
}, 3000)
}
//调用函数,开启定时器
autoplay();
//鼠标事件
$(".div").hover(function(){
//鼠标进入停止定时器
clearInterval(timer);
},function(){
//鼠标移出开始轮播
autoplay();
});
//设置左边按钮点击事件
$(".left").click(function() {
//移除当前下标的index选择样式
$(".btn>div").eq(slideindex).removeClass("pointSel")
//添加非选择样式
$(".btn>div").eq(slideindex).addClass("point");
slideindex--;
if (slideindex === -1) slideindex = imgs.length-1;
//添加选择样式,
$(".btn>div").eq(slideindex).addClass("pointSel");
//显示当前下标图片
$("img").attr('src',imgs[slideindex]);
});
//设置右边按钮点击事件
$(".right").click(function() {
//移除当前下标的index选择样式
$(".btn>div").eq(slideindex).removeClass("pointSel")
//添加非选择样式
$(".btn>div").eq(slideindex).addClass("point");
slideindex++;
if (slideindex === imgs.length) slideindex = 0;
//添加选择样式,
$(".btn>div").eq(slideindex).addClass("pointSel");
//显示当前下标图片
$("img").attr('src',imgs[slideindex]);
});
//绑定所有圆点下边点击事件
$('.btn div').click(function() {
var pos = $(this).index();
console.log("下标点击了:"+pos);
if(slideindex!=pos){
//移除当前下标的index选择样式
$(".btn>div").eq(slideindex).removeClass("pointSel")
//添加非选择样式
$(".btn>div").eq(slideindex).addClass("point");
slideindex = pos;
//添加选择样式,
$(".btn>div").eq(slideindex).addClass("pointSel");
//显示当前下标图片
$("img").attr('src',imgs[slideindex]);
}
});
});
</script>
</html>
鼠标移入 停止轮播,鼠标移出自动轮播,左右按钮可以切换,点击小圆点可以切换。