下面的沙箱代码(使用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() 方法,然后实现将所有同位素元素存储在 $items = $('.item');