首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配有Swiper JS的Lightbox

配有Swiper JS的Lightbox
EN

Stack Overflow用户
提问于 2022-06-28 17:12:17
回答 1查看 1.2K关注 0票数 0

我正在构建一个页面,在这里我使用ACF灵活的内容来添加一个Slider。滑块到目前为止已经建好了,但是现在我想在滑块中有一个灯箱功能。为此,我有方法复制滑块一次(每视图一张幻灯片,而不是每个视图三张幻灯片)。到目前为止很好:现在我想点击,例如,第二个滑块上的缩放图标,以到达被点击的幻灯片。为此,我有一个ActiveIndex函数,但我不知道如何为第二个滑块提供第一个滑块的索引。

我在一支笔里粗略地画了这个:

https://codepen.io/webkonditorei/pen/JjLjRQW?fbclid=IwAR2NZWpzx30gqVWVDPdOkRVrTdMC637dLNPYvakUruFYOjr6auYaJw6L9tY

或者这里的代码:

代码语言:javascript
复制
<link
  rel="stylesheet"
  href="https://unpkg.com/swiper@8/swiper-bundle.min.css"
/>

<script src="https://unpkg.com/swiper@8/swiper-bundle.min.js"></script>
<div class="swiper-container swiper1">
        <div class="swiper-wrapper">
            <div class="swiper-slide"><p onclick="umswipen()">Slide 1</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 2</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 3</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 4</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 5</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 6</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 7</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 8</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 9</p></div>
            <div class="swiper-slide"><p onclick="umswipen()">Slide 10</p></div>
          
        </div>
  <!-- Add Pagination -->
        <div class="swiper-pagination swiper-pagination1"></div>
  <div class="swiper-button-prev swiper-button-prev1"></div>
  <div class="swiper-button-next swiper-button-next1"></div>
    </div>





    <!-- Swiper -->
    <div class="swiper-container swiper2">
        <div class="swiper-wrapper">
          <div class="swiper-slide">Slide 1</div>
            <div class="swiper-slide">Slide 2</div>
            <div class="swiper-slide">Slide 3</div>
            <div class="swiper-slide">Slide 4</div>
            <div class="swiper-slide">Slide 5</div>
            <div class="swiper-slide">Slide 6</div>
            <div class="swiper-slide">Slide 7</div>
            <div class="swiper-slide">Slide 8</div>
            <div class="swiper-slide">Slide 9</div>
            <div class="swiper-slide">Slide 10</div>
        </div>
        <!-- Add Pagination -->
        <div class="swiper-pagination swiper-pagination2"></div>
      
 </div>

<style>
body {
  max-width: 1000px;
  overflow: hidden;
  margin: 0px auto;
}

.swiper-container {
  width: 100%;
}

.swiper-slide {
  text-align: center;
  padding: 50px;
  background: #f4f4f4;
  margin-top: 25px;
}

.sliderContainer {
  max-width: 500px;
}

.swiper-button-prev, .swiper-button-next {
  position: absolute;
}

p {
  cursor: pointer;
}

</style>


<script>
<!-- Initialize Swiper -->
var swiper1 = new Swiper('.swiper1', {
   slidesPerView: 3,
  spaceBetween: 10,
    pagination: '.swiper-pagination1',
    paginationClickable: true,
  navigation: {
    nextEl: '.swiper-button-next1',
    prevEl: '.swiper-button-prev1',
  },
});
var swiper2 = new Swiper('.swiper2', {
   slidesPerView: 1,
  spaceBetween: 10,
    pagination: '.swiper-pagination2',
    paginationClickable: true,
  navigation: {
    nextEl: '.swiper-button-next2',
    prevEl: '.swiper-button-prev2',
  },
});


<!-- Get SlideIndex -->

function geSlideDataIndex(mainSlider){
            
    var mainSlider  = document.querySelector('swiper1');     
    var activeIndex = mainSlider.activeIndex;
    var slidesLen = mainSlider.slides.length;
    if(mainSlider.params.loop){
        switch(mainSlider.activeIndex){
            case 0:
                activeIndex = slidesLen-3;
                break;
            case slidesLen-1:
                activeIndex = 0;
                break;
            default:
                --activeIndex;
        }
    }
    return  activeIndex;
}

<!-- Scroll Second Slider to current Slide of first Slider on Click -->

function umswipen(activeIndex) {
    
swiper2.slideTo(activeIndex);
    
}
</script>

在这里,第二个滑块(应该是灯箱)当然是可见的,它实际上不应该是,而只是基本的功能。

一个方法的想法?

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 18:46:19

我想你是在找一些思考湖:LightGallery。这个包裹能帮你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72790655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档