Javascript 如何获取jquery中可见的下一个元素
我有一些元素以及每个元素中的上一个和下一个链接。 就好像我单击next,我只想将一个类添加到下一个可见的div,我想跳过隐藏的div,如果div是隐藏的,则将类添加到隐藏元素之后可见的下一个div。为此我写了这样的东西Javascript 如何获取jquery中可见的下一个元素,javascript,jquery,css,Javascript,Jquery,Css,我有一些元素以及每个元素中的上一个和下一个链接。 就好像我单击next,我只想将一个类添加到下一个可见的div,我想跳过隐藏的div,如果div是隐藏的,则将类添加到隐藏元素之后可见的下一个div。为此我写了这样的东西 $('.next').click(function(){ $('.slide').removeClass('highZindex'); $(this).closest('.slide').next('.slide:visible').addClass('highZin
$('.next').click(function(){
$('.slide').removeClass('highZindex');
$(this).closest('.slide').next('.slide:visible').addClass('highZindex')
})
我只想从所有这些元素中删除添加的类,只需要添加到下一个可见元素中,但是如果单击下一个链接,并且下一个div被隐藏,它将跳过所有元素,直接转到最后一个div,并且类也不会添加到任何元素中
$'.slide'.first.addClass'highZindex';
$'.prev'。单击函数{
$'.slide'.removeClass'highZindex';
$this.closest'.slide'.prev'.slide:visible'.addClass'highZindex'
}
$'.next'。单击函数{
$'.slide'.removeClass'highZindex';
$this.nest'.slide'.next'.slide:visible'.addClass'highZindex'
}
.幻灯片{边框:1px实心;高度:200px;宽度:200px;位置:绝对;顶部:0px;左侧:0px;背景色:fff;}
.highZindex{z-index:1000}
1.
2.
3.
4.
5.
6.
7只需将“上一个”/“下一个”更改为“上一个”/“下一个”,然后从列表中选择第一项
换行
如果不希望循环上一个btn,可以添加条件:
$('.prev').click(function(){
if(!($(this).closest('.slide').prevAll('.slide:visible').length == 0)) {
$('.slide').removeClass('highZindex');
$(this).closest('.slide').prevAll('.slide:visible').first().addClass('highZindex');
}
})
你真的想用z-index来实现吗?是的,因为它很简单,还有其他方法可以达到同样的结果吗@AndréPachecow为什么不添加一个使用css display:block可见而使用css display:none隐藏的类?使用它,您不需要放置绝对位置,也不需要使用z-index。您将面临的另一个问题是使用。下一个或上一个是,当您到达div中的最后一个元素或第一个元素时,您将无法继续。解决方法是禁用按钮,如果我可以在到达最后一个或第一个元素时立即调用它们。
$('.prev').click(function(){
if(!($(this).closest('.slide').prevAll('.slide:visible').length == 0)) {
$('.slide').removeClass('highZindex');
$(this).closest('.slide').prevAll('.slide:visible').first().addClass('highZindex');
}
})