使用.show()和.hide()具有两个不同的功能而不会相互冲突

时间:2012-10-11 13:31:12

标签: javascript jquery css filter show-hide

请参见此处:http://jsfiddle.net/mAMY2/1/

如您所见,有一个过滤功能以及“显示更多”功能。我想改变“显示更多”功能的方式,以避免与过滤功能发生冲突。例如,可能有替代.show()和.hide()?

冲突摘要:

  

“显示更多”功能和“过滤”功能都可以使用   操纵显示值。例如,如果只有三个   显示九个框,您选择过滤特定类别,   可能会显示三个以上的盒子。同样,如果您选择仅>显示一个特定的类别,但随后希望显示更多,其他类别也将是?>显示。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用.addClass.removeClass,然后使用css控制可见性。

答案 1 :(得分:0)

如果我理解正确,当你点击显示更多你期望选择的同一类别框只能显示不是全部然后你可以使用这个,我不认为它是一个好方法因为如果类别增加所以如果条件。但至少你有一个想法

var cat=0;
$('#showMore a').click(function(){
    if(cat==0)
     $('.box:hidden:lt(3)').animate({height: 'toggle'}, 500);
    if(cat==1)
     $('.box cat1:hidden:lt(3)').animate({height: 'toggle'}, 500);
    if(cat==2)
     $('.box cat2:hidden:lt(3)').animate({height: 'toggle'}, 500);
});