Qamos Agency Asked:2022-08-27 13:50:05 +0000 UTC2022-08-27 13:50:05 +0000 UTC 2022-08-27 13:50:05 +0000 UTC 如何在页面上插入相同的 swiper 画廊? 772 如何在一个页面上插入许多相同的 swiper 画廊而不相互冲突? 示例 codepen.io/qamos/pen/ExEYwYm 如果页面上有 50 个这样的滑块,相同的 .. 在脚本中单独调用每个滑块不是一个选项 javascript swiper 1 个回答 Voted Best Answer soledar10 2022-08-27T14:55:15Z2022-08-27T14:55:15Z 例子 const wrapper = document.querySelectorAll(".wrapper"); wrapper.forEach((item) => { const top = item.querySelector(".gallery-top"); const thumbs = item.querySelector(".gallery-thumbs"); const galleryTop = new Swiper(top, { spaceBetween: 10, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev" }, loop: true, loopedSlides: 4 }); const galleryThumbs = new Swiper(thumbs, { spaceBetween: 10, centeredSlides: true, slidesPerView: "auto", touchRatio: 0.2, slideToClickedSlide: true, loop: true, loopedSlides: 4 }); galleryTop.controller.control = galleryThumbs; galleryThumbs.controller.control = galleryTop; }); body { background: #eee; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 14px; color: #000; margin: 0; padding: 0; } .wrapper { height: 200px; margin-bottom: 2rem; border: 2px solid #00f; } .swiper-container { width: 100%; height: 300px; margin: 20px auto; } .swiper-slide-container { text-align: center; font-size: 18px; background: #fff; height: 100%; max-width: 600px; margin: auto; /* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; } .gallery-top { height: 80%; width: 100%; } .gallery-thumbs { height: 20%; box-sizing: border-box; padding: 10px 0; } .gallery-thumbs .swiper-slide { width: 20%; height: 100%; opacity: 0.4; } .gallery-thumbs .swiper-slide-active { opacity: 1; } <script src="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.3/js/swiper.min.js"></script> <link href="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.3/css/swiper.min.css" rel="stylesheet" /> <body> <div class="wrapper"> <div class="swiper-container gallery-top"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> <!-- Add Arrows --> <div class="swiper-button-next"></div> <div class="swiper-button-prev"></div> </div> <div class="swiper-container gallery-thumbs"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> </div> </div> <div class="wrapper"> <div class="swiper-container gallery-top"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> <!-- Add Arrows --> <div class="swiper-button-next"></div> <div class="swiper-button-prev"></div> </div> <div class="swiper-container gallery-thumbs"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> </div> </div> <div class="wrapper"> <div class="swiper-container gallery-top"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> <!-- Add Arrows --> <div class="swiper-button-next"></div> <div class="swiper-button-prev"></div> </div> <div class="swiper-container gallery-thumbs"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 1</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 2</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 3</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 4</div> </div> <div class="swiper-slide"> <div class="swiper-slide-container">Slide 5</div> </div> </div> </div> </div> </body>
例子