0

チェックボックスの基準に一致しない要素の不透明度を弱めるクラスを追加するフィルタリングシステムを作成する際に問題が発生しました。プロセスを逆にしようとすると、「クリック」ではなく「トグル」を使用するか、条件をテストするためのループを作成してクラスを削除しようとすると、チェックボックスが機能しない(チェックマークが表示されない)というエラーが発生します。

私がやりたいのは、チェックボックスが:uncheckedになった後、「opacity」クラスを削除して、最初の、事前にフィルタリングされたページビューに戻ることです。これは、不透明度クラスを削除するまで、エラーを発生させないコードです。

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

どんな助けでも大歓迎です!私はここでそれをホストして見ました:http://yaocho-digital.com/83london/-ありがとう。

JP

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 に答える