<html>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Jquery带缩略图轮播图,左右结构,可放大轮播图</title>
</head>
<style type="text/css">
*{padding:0;margin:0;box-sizing:border-box;}
.bannerwarp{position:relative;display:flex;z-index:998;height:auto;text-align:center;justify-content:center;}
#banner{position:relative;width:800px;-ms-flex-negative:0;flex-shrink:0;background:#fff;-ms-flex-negative:0;flex-shrink:0;display:flex;}
.bannerwrap{width:800px;height:800px;overflow:hidden;}
#bannerlist{}
#bannerlist li{width:800px;height:800px;display:flex;align-items:center;justify-content:center;cursor:zoom-in;border:1px solid #ddd;}
#bannerlist li img{max-width:100%;max-height:100%;}
.btnwrap{text-align:center;overflow:hidden;position:relative;padding-right:20px;}
.small_box{width:145px;height:800px;overflow:hidden;}
.small_list{position:relative;width:140px;height:760px;overflow:hidden;}
.small_list ul{height:800px;overflow:hidden;width:140px;}
.small_list ul li{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:8px;width:120px;height:120px;padding:2px;border:1px solid #e6ecf2;cursor:pointer;}
.small_list ul li img{display:block;max-width:100%;max-height:100%;}
.small_list ul li.on{border-color:#ff7519;opacity:1;}
.small_list ul li.on:after{content:"";position:absolute;right:-6px;top:40%;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #ff7519;}
.arrow{display:block;width:125px;height:20px;text-align:center;color:#fff;cursor:pointer;position:relative;}
#prev:after{content:'';position:absolute;left:40%;top:6px;width:16px;height:16px;border-right:4px solid #bbb;border-bottom:4px solid #bbb;transform:rotate(225deg);-webkit-transform:rotate(225deg);}
#next:after{content:'';position:absolute;left:40%;right:0;bottom:0;top:-8px;width:16px;height:16px;border-right:4px solid #bbb;border-bottom:4px solid #bbb;transform:rotate(45deg);-webkit-transform:rotate(45deg);}
.bignext,.bigprev{cursor:pointer;}
.bignext:after{content:'';position:absolute;right:80px;top:80px;width:40px;height:40px;border-left:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotate(-135deg);}
.bigprev:after{content:'';position:absolute;left:100px;top:80px;width:40px;height:40px;border-left:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotate(45deg);}
.bannerbigImg{max-width:94%;max-height:94%;}
.bannerbigImgwarp{width:100%;display:flex;align-items:center;justify-content:center;}
.bannerbigImgwarp img{max-width:100%;max-height:100%;}
#smallimg{display:flex;width:100%;margin:20px auto 0 auto;justify-content:center;}
#smallimg li{width:7%!important;height:100px!important;line-height:100px!important;margin-right:1%;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;padding:2px;position:relative;cursor:pointer;background:#fff;}
#smallimg li:last-child{margin-right:0;}
#smallimg li img{max-width:100%;max-height:100%;}
#smallimg li.on{border-color:#ff7519;opacity:1;}
#smallimg li.on:after{content:"";position:absolute;left:45%;top:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ff7519;}
.bannerclose{position:absolute;right:0;top:0;cursor:pointer;width:100px;height:100px;}
.bannerclose::before,.bannerclose::after{content:'';width:40px;height:2px;display:block;background-color:#ffffff;position:absolute;right:0;top:40px;}
.bannerclose::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg);}
.bannerclose::before{transform:rotate(45deg);-webkit-transform:rotate(45deg);}
</style>
<body>
<div class="bannerwarp" id="bannerwarp">
<div class="btnwrap small_box">
<a title="prev" href="javascript:;" id="prev" class="arrow prev" rel="nofollow"></a>
<div class="small_list">
<ul id="bannerbtn">
<li class="on"><img src="https://s21.ax1x.com/2024/04/15/pFv2daD.jpg" alt="pFv2daD.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2wIe.jpg" alt="pFv2wIe.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2NqK.jpg" alt="pFv2NqK.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2aVO.jpg" alt="pFv2aVO.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2tr6.jpg" alt="pFv2tr6.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2BPH.jpg" alt="pFv2BPH.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2daD.jpg" alt="pFv2daD.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2wIe.jpg" alt="pFv2wIe.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2NqK.jpg" alt="pFv2NqK.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2aVO.jpg" alt="pFv2aVO.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2tr6.jpg" alt="pFv2tr6.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2BPH.jpg" alt="pFv2BPH.jpg"></li>
</ul>
</div>
<a title="next" href="javascript:;" id="next" class="arrow next" rel="nofollow"></a>
</div>
<div>
<div id="banner" class="bannerwrap large_box">
<ul id="bannerlist" style="left: 0;">
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2daD.jpg" alt="pFv2daD.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2wIe.jpg" alt="pFv2wIe.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2NqK.jpg" alt="pFv2NqK.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2aVO.jpg" alt="pFv2aVO.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2tr6.jpg" alt="pFv2tr6.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2BPH.jpg" alt="pFv2BPH.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2daD.jpg" alt="pFv2daD.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2wIe.jpg" alt="pFv2wIe.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2NqK.jpg" alt="pFv2NqK.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2aVO.jpg" alt="pFv2aVO.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2tr6.jpg" alt="pFv2tr6.jpg"></li>
<li><img src="https://s21.ax1x.com/2024/04/15/pFv2BPH.jpg" alt="pFv2BPH.jpg"></li>
</ul>
</div>
</div>
</div>
<div class="gray" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;z-index:99999;"></div>
<div class="showImg" style="position:absolute;top:0;left:10%;z-index: 999999;display: none;text-align:center;width:80%;">
<span class="bigprev" style="position: absolute;left: 0;width: 200px;height: 200px;text-align: center;"></span>
<span class="bignext" style="position: absolute;right: 0;width: 200px;height: 200px;text-align: center;"></span>
<span class="bannerclose"></span>
<div class="bannerbigImgwarp">
<img src="#" style="border:5px solid #fff;" class="bannerbigImg">
</div>
<ul id="smallimg"></ul>
</div>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.slim.min.js"></script>
<script type="text/javascript" src="js/carousel.min.js"></script>
<script type="text/javascript">
$(function() {
//轮播
$(".bannerwarp").thumbnailImg({
large_elem: ".bannerwrap",
small_elem: ".btnwrap",
left_btn: ".prev",
right_btn: ".next",
autoplay: false,
vis: 6
});
});
//轮播图放大
$("#bannerlist li").click(function() {
$(document).scrollTop(0);
unScroll();
bannerindex = $(this).index();
$(".gray").show();
$(".showImg").show();
bigSrc = $(this).children().attr("src");
if ($("#bannerlist li").length > 1) {
$(".bigprev").show();
$(".bignext").show();
} else {
$(".bigprev").hide();
$(".bignext").hide();
}
$(".showImg .bannerbigImg").attr("src", bigSrc).on('load', function() {
var windowW = $(window).width();
var windowH = $(window).height();
var imgWidth, imgHeight;
imgWidth = this.width;
imgHeight = this.height;
if ($("#bannerlist li").length > 1 && $("#smallimg").children().length < 1) {
var html = $("#bannerbtn").html();
$("#smallimg").append(html);
} else {}
var w = windowH - 140;
$(".bannerbigImgwarp").height(w);
var h = (windowH - w) / 2;
$(".bigprev").css("top", $(".bannerbigImgwarp").height() / 2 - 50);
$(".bignext").css("top", $(".bannerbigImgwarp").height() / 2 - 50);
$(".showImg").css({
"top": "20px"
});
});
});
$(".bannerclose").click(function() {
$(".gray").hide();
$(".showImg").hide();
removeUnScroll();
});
$(".showImg .bignext").click(function() {
bannerindex++;
if (bannerindex > $("#bannerlist li").length - 1) {
bannerindex = 0;
}
bigSrc = $("#bannerlist li").eq(bannerindex).children("img").attr("src");
$(".showImg .bannerbigImg").attr("src", bigSrc);
$("#smallimg li").eq(bannerindex).addClass("on");
$("#smallimg li").eq(bannerindex).siblings().removeClass("on")
});
$(".showImg .bigprev").click(function() {
bannerindex--;
if (bannerindex < 0) {
bannerindex = $("#bannerlist li").length - 1;
}
bigSrc = $("#bannerlist li").eq(bannerindex).children("img").attr("src");;
$(".showImg .bannerbigImg").attr("src", bigSrc);
$("#smallimg li").eq(bannerindex).addClass("on");
$("#smallimg li").eq(bannerindex).siblings().removeClass("on")
});
$("#smallimg").on('click', 'li', function() {
bannerindex = $(this).index();
$(this).addClass("on");
$(this).siblings().removeClass("on")
bigSrc = $("#bannerlist li").eq(bannerindex).children("img").attr("src");
$(".showImg .bannerbigImg").attr("src", bigSrc);
});
//禁止滚动条滚动
function unScroll() {
var top = 0;
$(document).on('scroll.unable', function(e) {
$(document).scrollTop(top);
})
}
//移除禁止滚动条滚动
function removeUnScroll() {
$(document).unbind("scroll.unable");
}
</script>
</body>
</html>
效果图
carousel.min.js下载
链接: carousel.min.js 提取码: nhzz