我正在使用 Swiper.js 在同一页面上创建多个滑块。
对于我正在编写的程序,我试图访问页面上的第二个滑动器,并根据我给它的参数将它移动到某个幻灯片。我可以使用
var mySwiper = document.querySelector('.swiper-container').swiper;
我尝试通过
var mySwiper = document.querySelectorAll('.swiper-container')[1].swiper;
控制台日志访问第二个刷卡器来访问第一个刷卡器mySwiper
,它在两种方法上都返回相同的结果。
我也尝试过使用var mySwiper = document.querySelector('.swiper-container:nth-child(2)');
,但返回null
的不是刷卡信息。
getElementsByClassName
也返回正确的值,但不让nextSlide()
函数执行。
我想mySwiper.slideNext();
在他们两个上使用,但它只适用于querySelector
,而不是 selected querySelectorAll
。
问题是 querySelector 是实时的,而 querySelectorAll 是静态节点列表。如果我可以让 querySelectorAll 生效,我可以解决这个问题,但是,我还没有找到任何关于它的文档。
我的完整代码:
if (condition1) {
var mySwiper = document.querySelector('.swiper-container').swiper;
var swiper = value1;
setSwiper(mySwiper, swiper);
}
else if (condition2){
var swiper = customObject['option2'];
var mySwiper = document.querySelectorAll('.swiper-container')[1].swiper;
setSwiper((mySwiper, swiper));
}
function setSwiper(selected, arg){
if(arg == "B"){
selected.slideNext();
} else if(arg == "C"){
selected.slideNext();
selected.slideNext();
}
}
功能运行不受干扰。