【发布时间】:2021-08-06 07:22:04
【问题描述】:
我有一个包含一些内容的页面,当您单击相关链接时内容会发生变化。并且所有内容都在单独的 div 中的同一页面中。只是数据根据链接发生变化。
在所有内容中,我都有一个缩略图滑块可供使用,为此我使用了 splide.js 滑块。问题是滑块仅在第一个内容 div 中有效,但在其他 div 中无效。我意识到问题出在“splide”类,但它是一个类,所以我可以在同一个页面中多次使用它。这没有意义。有没有人知道如何解决这个问题?我也使用了其他框架,但仍然遇到同样的问题。滑块 html 仅在 content1 div 中工作一次,但在 content2 div 中不起作用(它们在同一页面中)
这是我的 HTML 代码
<div class="sections" id="content1">
<!-- splide.js slider -->
<section>
<div class="row slider-section">
<div class="splide primary-slider">
<div class="splide__track">
<ul class="splide__list">
<li class="splide__slide">
<img src="/img/slider-img.png" class="slider-img">
</li>
<li class="splide__slide">
<img src="/img/slider-img.png" class="slider-img">
</li>
<li class="splide__slide">
<img src="/img/slider-img.png" class="slider-img">
</li>
<li class="splide__slide">
<img src="/img/slider-img.png" class="slider-img">
</li>
<li class="splide__slide">
<img src="/img/slider-img.png" class="slider-img">
</li>
</ul>
</div>
</div>
<div class="splide secondary-slider mt-3">
<div class="splide__track">
<ul class="splide__list">
<li class="splide__slide">
<img src="/img/slider-active.png">
</li>
<li class="splide__slide">
<img src="/img/slider-active.png">
</li>
<li class="splide__slide">
<img src="/img/slider-active.png">
</li>
<li class="splide__slide">
<img src="/img/slider-active.png">
</li>
<li class="splide__slide">
<img src="/img/slider-active.png">
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- splide.js slider -->
</div>
这是我的 JS 代码
document.addEventListener('DOMContentLoaded', function () {
var secondarySlider = new Splide('.secondary-slider', {
fixedWidth: 100,
height: 90,
gap: 10,
cover: true,
isNavigation: true,
focus: 'center',
breakpoints: {
'600': {
fixedWidth: 66,
height: 40,
}
},
}).mount();
var primarySlider = new Splide('.primary-slider', {
type: 'fade',
heightRatio: 0.5,
pagination: false,
arrows: false,
cover: true,
}); // do not call mount() here.
primarySlider.sync(secondarySlider).mount();
});
【问题讨论】:
标签: javascript html jquery