Javascript 让QuerySelector成为一个实时节点列表
我正在使用Swiper.js在同一页面上创建多个滑块 对于我正在编写的程序,我正在尝试访问页面上的第二个刷子,并根据我给出的参数将其移动到某个幻灯片上。我可以使用Javascript 让QuerySelector成为一个实时节点列表,javascript,swiper,swiperjs,Javascript,Swiper,Swiperjs,我正在使用Swiper.js在同一页面上创建多个滑块 对于我正在编写的程序,我正在尝试访问页面上的第二个刷子,并根据我给出的参数将其移动到某个幻灯片上。我可以使用访问第一个刷卡器 var mySwiper=document.querySelector('.swiper-container').swiper 我已尝试通过访问第二个刷卡器 var mySwiper=document.querySelectorAll('.swiper-container')[1].swiper 如果我使用consol
访问第一个刷卡器
var mySwiper=document.querySelector('.swiper-container').swiper代码>
我已尝试通过
访问第二个刷卡器
var mySwiper=document.querySelectorAll('.swiper-container')[1].swiper代码>
如果我使用console logmysweep
,它将在两种方法上返回相同的结果
我还尝试过使用var mySwiper=document.querySelector('.swiper container:nth child(2)')代码>,但返回的是null
,而不是刷卡器信息
getElementsByClassName
还返回正确的值,但不允许执行nextSlide()
函数
我想使用mysweer.slideNext()
对这两个选项都有效,但它仅对查询选择器
有效,而对选定的查询选择器所有
无效
问题是querySelector是活动的,而querySelectorAll是静态节点列表。我可以解决这个问题,如果我可以使QuerySelectorAllLive,但是,我还没有找到任何关于它的文档
我的完整代码:
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))代码>,应该是设置雨刮器(mySwiper,swiper)代码>删除多余的括号修复了我的代码,并使用getElementsByClassName
重新分配mysweer
变量。例如,应该将其重命名为mySwiper2
,然后必须在两个实例上调用slideNext()
,即mySwiper.slideNext();mySwiper2.slideNext()代码>抱歉,我没有说明这两个语句是分开的if语句
和引用一个函数,该函数将myswider作为参数,并且该参数会导致slideNext()被使用一定次数。您不能“激活”它(除非在每次需要时再次显式调用它)如果这里的类选择器只需要这个,那么使用getElementsByClassName
,这就是“live”。(不确定live和Not live是您在这里的实际问题。这应该附带一个适当的选项,向我们展示您实际在做什么,而不是只显示缺少上下文的单行代码。)添加了代码,我的道歉