我正在使用 Jquery Isotope
我有一个项目宽度大于其他 div。所有项目都很好地对齐,但项目在大宽度元素下没有正确对齐。
http://jsfiddle.net/S5vAG/1381/
<div id="container">
<div class="item">1</div>
<div class="item large">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
</div>
$(function(){
var $container = $('#container'),
$items = $('.item');
$container.isotope({
itemSelector: '.item',
layoutMode : 'fitColumns',
resizesContainer : true,
getSortData : {
fitOrder : function( $item ) {
var order,
index = $item.index();
if ( $item.hasClass('large') && index % 2 ) {
order = index + 1.5;
} else {
order = index;
}
return order;
}
},
sortBy : 'fitOrder'
});
$items.click(function(){
var $this = $(this);
// nothing to change if this already has large class
if ( $this.hasClass('large') ) {
return;
}
var $previousLargeItem = $items.filter('.large');
$previousLargeItem.removeClass('large');
$this.addClass('large');
$container
// update sort data on changed items
.isotope('updateSortData', $this )
.isotope('updateSortData', $previousLargeItem )
// trigger layout and sort
.isotope();
});
});
有人可以解释为什么会这样,或者请给我一个更好的解决方案。