单独切换隐藏/显示和切换所有隐藏/显示不能正确配合。有小费吗?(jquery)

单独切换隐藏/显示和切换所有隐藏/显示不能正确配合。有小费吗?(jquery),jquery,toggle,Jquery,Toggle,我为一个小的工作项目制作了过滤器,我需要解决的最后一个bug是隐藏/显示问题。当我通过单击标题显示部分anotation并稍后使用该按钮时,该按钮将显示所有anotation,但不会在第二次单击时将其全部隐藏。您知道如何更改代码以使其正常工作吗?提前谢谢你 /*切换按钮所有按钮*/ $('#makeVisible')。在('click',函数(){ $(this).text($(this).text()=='Show'?'Show':'Hide'); $(“.anotac”).toggleCl

我为一个小的工作项目制作了过滤器,我需要解决的最后一个bug是隐藏/显示问题。当我通过单击标题显示部分anotation并稍后使用该按钮时,该按钮将显示所有anotation,但不会在第二次单击时将其全部隐藏。您知道如何更改代码以使其正常工作吗?提前谢谢你

/*切换按钮所有按钮*/
$('#makeVisible')。在('click',函数(){
$(this).text($(this).text()=='Show'?'Show':'Hide');
$(“.anotac”).toggleClass(“隐藏”);
$(“.anotac”).toggleClass(“show”);
});
/*切换一个Anotion以单击其标题*/
$('.nazev')。单击(函数(){
$(this.next(“.anotace”).slideToggle();
})
.anotace{
显示:无;
}
.隐藏{
显示:无;
}
.表演{
显示:块;
}

显示
洛勒姆
乱数假文
洛勒姆
乱数假文
洛勒姆
乱数假文

您可以尝试以下方法:

$('#makeVisible').on('click', function() {
  var s = $(this).text() != 'Show'

  $(this).text(s ? 'Show' : 'Hide');

  if(s)
    $(".anotace:visible").slideToggle("show");
  else
    $(".anotace:not(:visible)").slideToggle("hide");

});
这将仅显示/隐藏未显示/隐藏的内容。
因此,如果您单击
Lorem
中的一个按钮,然后单击
Show
按钮,则其余两个按钮将切换

演示

/*切换按钮所有按钮*/
$('#makeVisible')。在('click',function()上{
var s=$(this).text()!='Show'
$(this.text?'Show':'Hide');
若有(s)
$(“.anotac:visible”).slideToggle(“show”);
其他的
$(“.anotac:not(:visible)”).slideToggle(“hide”);
});
/*切换一个Anotion以单击其标题*/
$('.nazev')。单击(函数(){
$(this.next(“.anotace”).slideToggle();
})
.anotace{
显示:无;
}
.隐藏{
显示:无;
}
.表演{
显示:块;
}

显示
洛勒姆
乱数假文
洛勒姆
乱数假文
洛勒姆
乱数假文

它在我的浏览器中正确地隐藏了所有三个“Ipsum”注释,我认为它应该这样做。“Lorem”注释不会隐藏(如果这是您的意思的话),因为您只需使用
anotace
类切换注释上的
show
/
hide
类。顺便说一下,我建议只使用
show
hide
类。因此:确保您的注释在默认情况下是可见的,并使
hide
类覆盖它,或者以其他方式覆盖它。这将非常有效!谢谢你的回答!