javascript

当前位置:首页 > 前端 > javascript

swiper 轮播左右箭头加数字 (外贸易)

<!--{* banner *}--> <div class="swiper banner-swiper"> <div class="swiper-wrapper"> @foreach (inject(&#39;ad&#39;)->a...
<!--{* banner *}-->
<div class="swiper banner-swiper">
    <div class="swiper-wrapper">
        @foreach (inject('ad')->ad(1) as $key => $value)
        <div class="swiper-slide"><img src="{{ $value->img }}" alt="{!! $value['title'] !!}"></div>
        @endforeach
    </div>

    <!-- 左侧:上一张 -->
    <div class="swiper-side swiper-prev">
        <span class="arrow">←</span>
        <span class="num">
            <em class="prev-num">1</em>/<em class="total-num">6</em>
        </span>
    </div>

    <!-- 右侧:下一张 -->
    <div class="swiper-side swiper-next">
        <span class="num">
            <em class="next-num">2</em>/<em class="total-num">6</em>
        </span>
        <span class="arrow">→</span>
    </div>
</div>

<style>
.banner-swiper {
    position: relative;
    width: 100%;
}

.banner-swiper img {
    width: 100%;
    display: block;
}

/* 左右控制区 */
.swiper-side {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 110px;
    height: 56px;
    background: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    z-index: 10;
    user-select: none;
}

.swiper-prev {
    left: 0;
}

.swiper-next {
    right: 0;
}

.swiper-side .arrow {
    font-size: 18px;
    margin: 0 6px;
}

.swiper-side .num em {
    font-style: normal;
}

</style>



<script>
    var swiper = new Swiper(".banner-swiper", {
        loop: true,
        speed: 800,

        navigation: {
            prevEl: ".swiper-prev",
            nextEl: ".swiper-next"
        },

        on: {
            init: function () {
                updateSideNumber(this);
            },
            slideChange: function () {
                updateSideNumber(this);
            }
        }
    });

    function updateSideNumber(swiper) {
        // 实际 slide 数(去掉 loop 克隆)
        var total = swiper.slides.length - swiper.loopedSlides * 2;

        // 当前真实索引(0 开始)
        var current = swiper.realIndex;

        // 上一张
        var prev = current - 1 < 0 ? total - 1 : current - 1;

        // 下一张
        var next = current + 1 >= total ? 0 : current + 1;

        document.querySelector(".prev-num").innerText = prev + 1;
        document.querySelector(".next-num").innerText = next + 1;

        document.querySelectorAll(".total-num").forEach(function (el) {
            el.innerText = total;
        });
    }

</script>


上一篇:banner 效果

下一篇:已经是最后一篇

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~