我正在使用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
,而不适用于选定的querySelectorAll
。
问题是querySelector是活动的,而querySelectorAll是静态的nodeList。如果可以启用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();
}
}
功能运行不受干扰。
在第二种情况下,我叫setSwiper((mySwiper, swiper));
,应该是setSwiper(mySwiper, swiper);
删除固定我的代码的多余括号,并利用getElementsByClassName
。