以下のサンドボックス コード ( jQuery Isotopeレイアウトおよびソート プラグインを使用)。何が起こるか:
- .item をクリックすると、そのコンテンツがさらに表示されるように成長します (.maximise)。
- 同じ.itemを再度クリックすると、縮小してそのコンテンツのほとんどが非表示になります (.minimise)。
他の.item をクリックすると、1. が実行され、他のすべてのアイテムが 2. が実行されます。
$items = $('.item'); // solution $('.item').click(function () { var $this = $(this); var $previousSelected = $('.selected'); if ($(this).hasClass('selected')) { $items.not(this).find('.slideshow').removeClass('transparent'); // solution $(this).removeClass('selected'); $(this).children('.maximise').hide(); $(this).children('.minimise').show(); } else { $items.not(this).find('.slideshow').addClass('transparent'); // solution $previousSelected.removeClass('selected'); $previousSelected.children('.minimise').show(); $previousSelected.children('.maximise').hide(); $(this).addClass('selected'); $(this).children('.minimise').hide(); $(this).children('.maximise').show(); } // $container.isotope('shuffle'); uncomment to always randomise layout // $container.isotope('reLayout'); uncomment if no sorting logic is used $container .isotope('updateSortData', $this) .isotope('updateSortData', $previousSelected) .isotope(); });
よろしくお願いします!
編集.find() が見つかりました。次に .not() メソッドを実行し、すべての Isotope 要素を $items = $('.item'); に格納するだけであることに気付きました。