Javascript 如何仅选择它后面的前两个div元素';她的兄弟姐妹?
我正在使用slick.js插件进行旋转木马。我只想选择Javascript 如何仅选择它后面的前两个div元素';她的兄弟姐妹?,javascript,jquery,css,slick.js,Javascript,Jquery,Css,Slick.js,我正在使用slick.js插件进行旋转木马。我只想选择.slick0 current类后面的前两个元素 Hy HTML代码是: <div class="slick-slide slick-current slick-active" data-slick-index="3" aria-hidden="false" tabindex="-1" role="option" aria-describedby="slick-slide03" style="width: 150px;"><
.slick0 current
类后面的前两个元素
Hy HTML代码是:
<div class="slick-slide slick-current slick-active" data-slick-index="3" aria-hidden="false" tabindex="-1" role="option" aria-describedby="slick-slide03" style="width: 150px;"></div>
<div class="slick-slide slick-active" data-slick-index="4" aria-hidden="false" tabindex="-1" role="option" aria-describedby="slick-slide04" style="width: 150px;"></div>
<div class="slick-slide slick-active" data-slick-index="5" aria-hidden="false" tabindex="-1" role="option" aria-describedby="slick-slide05" style="width: 150px;">next</div>
我没有在这里重新创建整个光滑的演示 你需要的是技术和方法 在下面的演示中,元素的结果集合中的元素变为红色
$(“.slick current”).nextAll().filter(函数(索引){
如果(index我没有在这里重新创建整个slick演示
你需要的是技术和方法
在下面的演示中,元素的结果集合中的元素变为红色
$(“.slick current”).nextAll().filter(函数(索引){
如果(index每次使用“.slick next”单击功能时,都会混淆旋转木马末尾的滑块。使用slick事件不是更好吗
更新的演示
如果希望更改发生在动画之前,可以将afterChange
编辑为beforeChange
这可能有点问题,但这只是一个开始。如果旋转木马是无限模式,它应该可以工作,因为它只会更改克隆的幻灯片。每次使用“.slick next”单击功能,这不会使旋转木马末尾的滑块混淆。使用slick事件不是更好吗
更新的演示
如果希望更改发生在动画之前,可以将afterChange
编辑为beforeChange
这可能有点问题,但这只是一个开始。如果旋转木马是无限模式,它应该可以工作,因为它只会更改克隆的幻灯片。.slick0 current+*
和.slick0 current+*+*+*
因此,当您单击“下一步”时,slick将触发到下一张幻灯片(3),并将slick current
添加到幻灯片(3),您想选择幻灯片4和5吗?请您也发布您的slick函数。如果这是您想要的下一个和上一个包装器,为什么不使用设置.slick({nextArrow:'next',prevArrow:'prev'})
?然后只需.find('.next'))
我已经更新了代码,我不确定这是否是您想要的,请检查小提琴.slick0 current+*
和.slick0 current+*+*
,因此当您单击“下一步”时,slick将触发下一张幻灯片(3),并将slick current
添加到幻灯片(3),您想选择幻灯片4和5吗?请您也发布您的slick函数。如果这是您想要的下一个和上一个包装器,为什么不使用设置.slick({nextArrow:'next',prevArrow:'prev'})
?然后只需.find('.next'))
我已经更新了代码,我不确定这是否是你想要的,检查一下提琴我在完整的光滑演示中使用了你的代码,效果很好@Louys Patrice Bessete这很有帮助,但是你如何为第二和第三个元素创建一个唯一的类。例如,第二个div和第三个div?嗯……这是不同的。你必须e然后分两步选择它们,第二步->添加一个类,然后第三步->添加另一个类。我建议您查看@joshmoto answer,这将更容易实现,因为它已经为您提供了下一张幻灯片。@LouysPatrice Bessette Patrice Bessette啊哈!很有意义。也感谢您的解决方案!我在我的完整幻灯片中使用了您的代码mo和它工作得很好@Louys Patrice Bessete这很有帮助,但是如何为第二个和第三个元素创建一个唯一的类。例如第二个div和第三个div?嗯……这是不同的。你必须分两步选择它们,第二步->添加一个类,然后第三步->添加另一个类。我建议你看看@joshmoto回答哪里更容易实现,因为它已经为您提供了下一张幻灯片。@Louyspatricebesette Patrice Bessette ahhh!很有意义。也感谢您的解决方案!您使用slick事件的想法绝对正确!现在,如果您查看我回答下面的评论,他添加了一个要求。。)@乔希莫托,这太可爱了,当然easier@Mariton我突然对在不可见的幻灯片中添加类的“相关性”产生了怀疑……不清楚为什么要这样做。但我放弃了这一点;)@Louyspatricebesette我不想在不可见的幻灯片上添加类。只想添加可见的类。谁会问这个问题?你使用滑头事件的想法绝对正确!现在,如果你看看我答案下面的评论,他会添加一个要求。;@joshmoto这很可爱。绝对正确easier@Mariton我突然对“相关性”产生了怀疑在不可见的幻灯片上添加类…不清楚为什么要这样做。但我放弃了这一点;)@LouysPatriceBesette我不想在不可见的幻灯片上添加类。只有可见的一个谁会有疑问?
jQuery( ".slick-next").click(function() {
jQuery(".slick-current").text("Im Previous");
jQuery(".slick-active").siblings(".slick-slide.slick-active").eq(0).html("Im Current");
jQuery(".slick-active").siblings(".slick-slide.slick-active").eq(2).html("Im After");
});
$('.carousel').slick({
// slick stuff
}).on('afterChange', function(event, slick, currentSlide, nextSlide) {
$('.slick-current',this).prev().text("Im Previous");
$('.slick-current',this).text("Im Current");
$('.slick-current',this).next().text("Im After");
});