2017-01-28 20 views
0

私は拡大縮小する小さなギャラリーを構築しています。親divが展開され、子が展開されます。私は兄弟がクリックされたときにクラス "open"を削除したいだけでなく、現在開いているdivがクリックされたときにすべての ".panel" divから "open"を削除できるようにしたい。また、親divはクラス ".full"で展開されます。クラスを(これ)に追加したときに兄弟を削除し、トグル(this)

$(document).ready(function() { 
    $('.panel').on('click', function(e) { 
    $('.panel').removeClass("open"); 
    $(this).toggleClass("open"); //this is not working 
    if ($(this).hasClass('open')) { 
     $(this).parent().addClass("full"); 
    } else { 
     $(this).parent().removeClass("full"); 
    } 
    }); 
}); 

答えて

2

すべての.panel要素からクラスを削除しています(ユーザーがクリックした要素を含む)。現在の要素を除外する必要があります:

$('.panel').not(this).removeClass("open"); 
関連する問題