0

我遇到了制作过滤系统的问题,该系统添加了一个类来抑制与复选框条件不匹配的元素的不透明度。当我尝试通过使用“切换”而不是“单击”或循环测试条件来撤消该过程以删除该类时,我遇到了复选框不起作用的错误(不出现勾号)。

我想要做的是,在复选框被取消选中后,删除“不透明度”类,以便它返回到初始的、预过滤的页面视图。这是我没有导致错误的代码,直到删除 opacity 类:

$(".filters :checkbox").click(function(){
   $('.video-placeholder').addClass('opacity');
   $('.filters :checkbox:checked').each(function() {
       $("." + $(this).val()).addClass('opacity-full');
   });
});

任何帮助都会受到好评!我把它托管在这里看看:http: //yaocho-digital.com/83london/ - 谢谢。

J.P

4

1 回答 1

0

您将在下面找到代码基本表示形式的 jsFiddle,

http://jsfiddle.net/zcQnj/27/

    $('.filters :checkbox:checked').each(function() {
        $("." + $(this).val()).removeClass('opacity').addClass('opacity-full');
    });

    if ( $('.filters :checkbox:checked').length == 0 ) 
        $('.video-placeholder').removeClass('opacity');

通过在匹配时和未应用过滤器时删除不透明度类,我希望我正确理解了您的问题!

于 2013-03-04T09:38:10.587 回答