Jquery 如何在另一个列表之间控制另一个元素列表
我在函数中有一个隐藏的列表,单击一个按钮就可以将其取消隐藏。在项目之间有另一个列表做同样的事情:在单击按钮之前隐藏。下面是一个例子:Jquery 如何在另一个列表之间控制另一个元素列表,jquery,Jquery,我在函数中有一个隐藏的列表,单击一个按钮就可以将其取消隐藏。在项目之间有另一个列表做同样的事情:在单击按钮之前隐藏。下面是一个例子: 一, 二, 3a 3b 3c 四, 五, 它在3c结束前工作正常。当我点击按钮继续时,一切都消失了。我试图找到一种方法,在切换到第二个列表时,继续取消隐藏第一个列表中的列表 我的代码:单击“下一步”前进。当3a出现时,单击“多下一步”直到3c。当点击3c后的“单一下一步”时,它将消失。4应该是5 $(“#多单下一步”)。单击(函数(){ var index=
- 一,
- 二,
- 3a
- 3b
- 3c
- 四,
- 五,
$(“#多单下一步”)。单击(函数(){
var index=$('.pagination').find('li:visible').index();
if($(this).hasClass('prev')){
指数=指数==0?0:(指数-1);
}否则{
var totalielem=$('.pagination').find('li').length
指数=(指数==(totalielem-1))?(totalielem-1):(指数+1);
}
$('.pagnation').find('li:visible').fadeToggle(“快速”,“线性”,函数()){
$('.pagnation').find('li:eq('+index+'))).fadeToggle(550,“线性”);
});
});
$('.pagination-2 li:gt(0)').hide();
$(“#多下一个多项目”)。单击(函数(){
var last=$('.pagnation-2').children('li:visible:last');
last.nextAll(':lt(1)').fadeToggle('slow').show();
last.next().prevAll().fadeToggle('slow').hide();
});代码>
.pagination li{
显示:内联块;
列表样式:无;
}
李:不是(第一个孩子){
显示:无;
}
下一个单曲
多项目
- 1
- 2
- 3a
- 3b
- 3c
4
5
这就是您想要的吗
我删除索引并使用classactive
作为当前索引。
接下来,可以简单地使用兄弟姐妹来演示LI
这是一个很好的开始,但是你让3个(3a、3b、3c)作为一个整体出现,而我让它们单独出现。你说的单独是什么意思?所以我不明白你想要什么。如果单击“单个”,则显示第一个项目;如果单击“包含多个”,则单击“多个”并显示子项目。请澄清你的问题。而且你的代码在3a而不是3c之后死亡。
$('#multi-single-next').click(function() {
let $item;
if(!$('ul.pagnation li.single-data-item.active').length) {
$item = $('ul.pagnation li.single-data-item').first();
}
else {
$prev = $('ul.pagnation li.single-data-item.active');
$item = $prev.next();
if(!$prev.next().length) {
$prev.removeClass('active');
$prev.hide();
return;
}
$prev.removeClass('active');
$prev.hide();
}
$item.addClass('active');
$item.show();
// sub items
$('ul.pagnation-2 li').removeClass('active');
if($item.hasClass('has-multi-items')) {
const $sub = $item.find('ul li').first();
$sub.addClass('active');
$sub.show();
}
});
$('#multi-next-multi-item').click(function() {
const $item = $('ul.pagnation-2 li.active');
const $next = $item.next();
$item.removeClass('active');
$item.hide();
$next.addClass('active');
$next.show();
});