你应该试试这样的方法:
$container.isotope({
masonry {
columnWidth: 50,
},
straightDown: {
columnWidth: 50,
}
});
var isMasonry = true;
$('.layouts .grid').click( function() {
isMasonry= !isMasonry;
var sizeStyle = isMasonry ?
{ minWidth: '100%', minHeight: '100%' } :
{ minWidth: '100%', height: '100%' };
$container.addClass('no-transition').css( sizeStyle );
var redraw = $container[0].offsetHeight;
$container.removeClass('no-transition')
.isotope({
layoutMode: isMasonry ? 'masonry' : 'straightDown'
});
为了避免同位素元素之间的任何间隙,您需要使用css转换做一些技巧。
请参阅David Desandro的示例:
http://codepen.io/desandro/pen/ivjAI