Jquery带缩略图轮播图,左右结构,可放大轮播图

<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

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery手风琴图片轮播切换是一种常用的网页图片轮播效果,可以让网页内容更加生动,增强用户体验。手风琴效果是指在图片轮播时,当前图片会被放大,其他图片则会被压缩。以下是该效果的实现步骤: 1. HTML结构:创建一个包含所有图片的容器和一个包含所有小圆点的容器。 2. CSS样式:为容器和小圆点添加样式,设置图片的宽度、高度和位置。 3. JavaScript代码:实现图片轮播的逻辑。通过jQuery获取容器和小圆点,为小圆点添加点击事件,点击后切换到对应的图片,并给当前图片添加类名,其他图片则移除类名,实现手风琴效果。 以下是一个示例代码: HTML: ``` <div class="slider"> <div class="slider-wrapper"> <img src="img1.jpg" alt=""> <img src="img2.jpg" alt=""> <img src="img3.jpg" alt=""> </div> <div class="dots"> <span></span> <span></span> <span></span> </div> </div> ``` CSS: ``` .slider { width: 100%; height: 500px; position: relative; } .slider-wrapper { width: 100%; height: 100%; position: relative; } .slider-wrapper img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all 0.5s ease-in-out; } .slider-wrapper img.active { transform: scale(1.2); } .dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); } .dots span { display: inline-block; width: 10px; height: 10px; margin-right: 10px; background-color: #ccc; border-radius: 50%; cursor: pointer; } .dots span.active { background-color: #f00; } ``` JavaScript: ``` $(function(){ var $slider = $('.slider'), $wrapper = $('.slider-wrapper'), $imgs = $('.slider-wrapper img'), $dots = $('.dots span'), len = $imgs.length, index = 0; // 初始化 $imgs.eq(0).addClass('active'); $dots.eq(0).addClass('active'); // 点击事件 $dots.on('click', function(){ var idx = $(this).index(); if(idx !== index){ $imgs.eq(index).removeClass('active'); $dots.eq(index).removeClass('active'); $imgs.eq(idx).addClass('active'); $dots.eq(idx).addClass('active'); index = idx; } }); }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值