我有一个滑块,它在桌面上显示旋转幻灯片,带有滑动滑块,我在移动设备上破坏了滑块,并想显示 3 个不使用显示更多按钮旋转的静态幻灯片。
我为除前 3 个元素之外的所有元素添加了一个名为 hidden 的类,并添加了一个按钮以在单击时显示更多幻灯片。
现在,当您单击按钮时,我想从所有幻灯片元素中删除隐藏类,但它不起作用。
这是HTML:
<div class="icon-slider">
<div class="swiper-container js-icon-slider">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
<div class="swiper-slide">
<div class="img-wrap">image here</div>
</div>
</div>
</div>
还有我的 JS 代码:
var slider = document.querySelector('.icon-slider'),
slides = slider.querySelectorAll('.swiper-slide'),
btnMore = '<div class="more-btn-wrap"><button class="wp-block-button__link">View all</button></div>';
for (let i = 2; i < slides.length; i++) {
slides[i].classList.add('hidden');
}
if (!slider.querySelector(".more-btn-wrap")) {
slider.innerHTML = slider.innerHTML + btnMore;
}
let btn = document.querySelector('.more-btn-wrap');
btn.addEventListener('click', function () {
this.remove();
slides.forEach(slide => slide.classList.remove('hidden'));
});
当我尝试将这条线放在控制台中时,它按预期工作,所以我认为它与 addEventListener 有关
slides.forEach(slide => slide.classList.remove('hidden'));