HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript" src="js/test.js"></script>
<link rel="stylesheet" type="text/css" href="css/test.css" />
</head>
<body>
<div id="carousel"></div>
</body>
</html>
CSS:
*{
display: block;
margin: 0px;
border: 0px;
}
#carousel,#carousel>img{
width: 1024px;
height: 576px;
}
#carousel{
margin: 50px auto;
position: relative;
}
#carousel>img{
cursor: pointer;
position: absolute;
left: 0px;
top: 0px;
}
#dots{
position: absolute;
left: 362px;
bottom: 0px;
background-color: rgba(0,0,0,0.6);
}
#dots>div{
float: left;
width: 20px;
height: 20px;
border-radius: 10px;
margin: 5px 20px;
cursor: pointer;
background-color: rgba(255,255,255,0.6);
}
#dots>div:first-child{
background-color: rgba(255,0,0,0.6);
}
#previous,#next{
text-align: center;
position: absolute;
width: 30px;
line-height: 50px;
top: 273px;
font-size: 25px;
cursor: pointer;
background-color: rgba(255,255,255,0.6);
}
#previous{
left: 0px;
}
#next{
right: 0px;
}
JQ:
$(function(){
for(var j=0;j<5;j++)
$("#carousel").append("<img src=\"img/"+(j+1)+".jpg\"/>");
$("#carousel").append("<div id=\"dots\"></div>");
for(var j=0;j<5;j++)
$("#dots").append("<div></div>");
$("#carousel").append("<div id=\"previous\"><</div><div id=\"next\">></div>");
$("#carousel>img").css("display","none");
$("#carousel>img").eq(0).css("display","block");
var i=0;
var index=0;
var previous=0;
function start () {
i=i%5;
previous=i-1;
change();
i++;
}
function change(){
if(i<0)
i=4;
if(i>4)
i=0;
index=i;
$("#carousel>img").eq(previous).fadeOut(2000);
$("#carousel>img").eq(i).fadeIn(2000);
$("#dots>div").css("background","rgba(255,255,255,0.6)");
$("#dots>div").eq(i).css("background","rgba(255,0,0,0.6)");
}
var time=setInterval(start,4000);
$("#dots>div").hover(function () {
clearInterval(time);
previous=index;
i=$(this).index();
change();
},function () {
time=setInterval(start,4000);
});
$("#carousel>img").hover(function() {
clearInterval(time);
},function () {
time=setInterval(start,4000);
});
$("#previous").click(function () {
clearInterval(time);
previous=index;
index--;
i=index;
change();
time=setInterval(start,4000);
});
$("#next").click(function () {
clearInterval(time);
previous=index;
index++;
i=index;
change();
time=setInterval(start,4000);
});
});