代码部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.contain{
/* position: relative; */
width: 1200px;
height: 500px;
/* overflow: hidden; */
}
.banner{
width: 100%;
height: 100%;
position: relative;
/* display: flex; */
overflow: hidden;
/* display:inline-block; */
}
/* .bigmig{
width: 100%;
height: 100%;
display: inline-block;
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
display: flex;
} */
.img1{
width: 100%;
height: 100%;
/* float: left; */
position: absolute;
/* display: block; */
}
.img2{
/* float: left; */
width: 1200px;
height: 500px;
position: absolute;
display: none;
}
.img3{
width: 1200px;
height: 500px;
position: absolute;
display: none;
/* float: left; */
}
ul{
float: right;
/* display: flex; */
position: absolute;
margin-left: 1000px;
margin-top: 430px;
/* background-color: aqua; */
}
li{
list-style: none;
margin-right: 5px;
width:10px;
height:10px;
border-radius:50%;
border:3px solid aqua;
display:inline-block;
/* float:right; */
}
.addcss{
background-color: black;
}
.arrow1{
font-size: 50px;
/* color: aqua;
position: absolute;
margin-left: 100px;
margin-top: 100px; */
/* display: block; */
/* float: left; */
}
.arrow2{
/* position: absolute; */
font-size: 50px;
/* color: aqua;
margin-left: 200px;
margin-top: 200px; */
/* display: block; */
/* float: right; */
}
.arrow{
position: absolute;
font-size: 50px;
margin-top: 200px;
width: 100%;
height: 100%;
color: aqua;
/* margin-left: 100px;
margin-top: 100px; */
/* display:inline-block; */
/* float: right; */
/* display: block; */
display: flex;
/* align-content: center;
justify-content: center; */
justify-content: space-between;
/* background-color: aqua; */
}
</style>
</head>
<body>
<div class="contain">
<div class="banner">
<img src="img/banner01.jpg" alt="" class="img1">
<div class="arrow">
<div class="arrow1"><</div>
<div class="arrow2">></div>
</div>
<!-- <div class="arrow">
<div class="arrow1"><</div>
<div class="arrow2">></div>
</div> -->
<img src="img/banner02.webp" alt="" class="img2">
<div class="arrow">
<div class="arrow1"><</div>
<div class="arrow2">></div>
</div>
<img src="img/banner03.webp" alt="" class="img3">
<div class="arrow">
<div class="arrow1"><</div>
<div class="arrow2">></div>
</div>
<ul>
<!-- <li></li>
<li></li>
<li></li> -->
</ul>
</div>
<!-- <div class="arrow">
<div class="arrow1">⁢</div>
<div class="arrow2">></div>
</div> -->
<!-- <ul>
<li></li>
<li></li>
<li></li>
</ul> -->
</div>
jQuery代码部分:
<script src="jquery-3.5.1/jquery-3.5.1.js"></script>
<script>
$(function(){
var j=0;
var i=0;
var settime=setInterval(function(){
if(j%3==1){
$("ul li:eq(0)").mouseenter();
$("ul li:eq(2)").mouseleave();
}
else if(j%3==2){
$("ul li:eq(1)").mouseenter();
$("ul li:eq(0)").mouseleave();
}
else if(j%3==0){
$("ul li:eq(2)").mouseenter();
$("ul li:eq(1)").mouseleave();
}
j++;
},3000)
// 动态添加小圆点
for(var i = 0;i < $("img").length;i ++){
$("ul").append("<li>"+"</li>");
}
// var k=0;
$(".arrow2").mouseenter(function(){
clearInterval(settime);
})
$(".arrow2").mouseleave(function(){
var settime=setInterval(function(){
if(j%3==1){
$("ul li:eq(0)").mouseenter();
$("ul li:eq(2)").mouseleave();
}
else if(j%3==2){
$("ul li:eq(1)").mouseenter();
$("ul li:eq(0)").mouseleave();
}
else if(j%3==0){
$("ul li:eq(2)").mouseenter();
$("ul li:eq(1)").mouseleave();
}
j++;
},3000)
})
$(".arrow2").click(function(){
// $(this).addClass("addcss");
// switch (i%3) {
// case 0:
// $(".img1").fadeOut();
// $(".img2").fadeIn();
// i++
// break;
// case 1:
// $(".img2").fadeOut();
// $(".img3").fadeIn();
// i++
// break;
// case 2:
// $(".img3").fadeOut();
// $(".img1").fadeIn();
// i++
// break;
// }
if(i>=0){
i++;
if(i%3==1){
$(".img1").fadeOut();
$(".img2").fadeIn();
$("ul li:eq(1)").addClass("addcss");
$("ul li:eq(1)").siblings().removeClass("addcss");
console.log("111")
}
else if(i%3==2){
$(".img2").fadeOut();
$(".img3").fadeIn();
$("ul li:eq(2)").addClass("addcss");
$("ul li:eq(2)").siblings().removeClass("addcss");
console.log("222")
}
else if(i%3==0){
$(".img3").fadeOut();
$(".img1").fadeIn();
$("ul li:eq(0)").addClass("addcss");
$("ul li:eq(0)").siblings().removeClass("addcss");
console.log("333")
}
}
if(i<0){
if((-i)%3==1){
$(".img3").fadeIn();
$(".img2").fadeOut();
$("ul li:eq(2)").addClass("addcss");
$("ul li:eq(2)").siblings().removeClass("addcss");
console.log("111")
}
else if((-i)%3==2){
$(".img2").fadeIn();
$(".img1").fadeOut();
$("ul li:eq(1)").addClass("addcss");
$("ul li:eq(1)").siblings().removeClass("addcss");
console.log("222")
}
else if((-i)%3==0){
$(".img1").fadeIn();
$(".img3").fadeOut();
$("ul li:eq(0)").addClass("addcss");
$("ul li:eq(0)").siblings().removeClass("addcss");
console.log("333")
}
i++;
}
})
$(".arrow1").mouseenter(function(){
clearInterval(settime);
})
$(".arrow1").click(function(){
// if(math.abs(i)%3==1){
// $(".img1").fadeIn();
// $(".img2").fadeOut();
// console.log("111")
// }
// else if(math.abs(i)%3==2){
// $(".img2").fadeIn();
// $(".img3").fadeOut();
// console.log("222")
// }
// else if(math.abs(i)%3==0){
// $(".img3").fadeIn();
// $(".img1").fadeOut();
// console.log("333")
// }
if(i>0)
{
if(i%3==1){
$(".img1").fadeIn();
$(".img2").fadeOut();
$("ul li:eq(0)").addClass("addcss");
$("ul li:eq(0)").siblings().removeClass("addcss");
console.log("111")
}
else if(i%3==2){
$(".img2").fadeIn();
$(".img3").fadeOut();
$("ul li:eq(1)").addClass("addcss");
$("ul li:eq(1)").siblings().removeClass("addcss");
console.log("222")
}
else if(i%3==0){
$(".img3").fadeIn();
$(".img1").fadeOut();
$("ul li:eq(2)").addClass("addcss");
$("ul li:eq(2)").siblings().removeClass("addcss");
console.log("333")
}
i--;
}
if(i<=0){
if((-i)%3==1){
$(".img2").fadeIn();
$(".img3").fadeOut();
$("ul li:eq(1)").addClass("addcss");
$("ul li:eq(1)").siblings().removeClass("addcss");
console.log("111")
}
else if((-i)%3==2){
$(".img1").fadeIn();
$(".img2").fadeOut();
$("ul li:eq(0)").addClass("addcss");
$("ul li:eq(0)").siblings().removeClass("addcss");
console.log("222")
}
else if((-i)%3==0){
$(".img3").fadeIn();
$(".img1").fadeOut();
$("ul li:eq(2)").addClass("addcss");
$("ul li:eq(2)").siblings().removeClass("addcss");
console.log("333")
}
i--;
}
})
// <ul>
// <li></li>
// <li></li>
// <li></li>
// </ul>
// var a = $(this).index();
// if(a == 1){
// $("#img-two").siblings("img").fadeOut();
// $("#img-two").fadeIn();
// }else if(a == 2){
// $("#img-there").siblings("img").fadeOut();
// $("#img-there").fadeIn();
// }else if(a == 0){
// $("#img-one").siblings("img").fadeOut();
// $("#img-one").fadeIn();
// }
$("ul li:eq(0)").mouseenter(function(){
$(this).addClass("addcss");
$(".img1").stop().siblings("img").fadeOut();
$(".img1").fadeIn();
})
$("ul li:eq(0)").mouseleave(function(){
$(this).removeClass("addcss");
})
$("ul li:eq(1)").mouseenter(function(){
$(this).addClass("addcss");
$(".img2").stop().siblings("img").fadeOut();
$(".img2").fadeIn();
})
$("ul li:eq(1)").mouseleave(function(){
$(this).removeClass("addcss");
})
$("ul li:eq(2)").mouseenter(function(){
$(this).addClass("addcss");
$(".img3").stop().siblings("img").fadeOut();
$(".img3").fadeIn();
})
$("ul li:eq(2)").mouseleave(function(){
$(this).removeClass("addcss");
})
})
</script>
</body>
</html>
</body>
</html>
总结:我的逻辑判断去切换图片过于麻烦,可通过siblings("img").fadeOut()去对其余兄弟图片进行淡出操作,而不需要逻辑找到具体判断哪一张图去进行特别淡入淡出操作,这样会简便简单许多;