我正在学习使用Isotope并偶然发现了作者关于如何为项目大小设置动画的博客文章。
我已经为我正在开发的项目实现了这一点。它由三个垂直列组成。每个项目为 196 像素 x 70 像素。当您单击一个项目时,它将扩展为 402 像素 x 230 像素。
所有项目都正确调整大小并导致 Isotope 刷新布局——除了第一个项目。
单击第一项会导致所有后续列表项仅在一个垂直列中排列 - 即使有足够的空间并且项目应该围绕第一个排列。
单击列表中的任何其他项目都会导致正确的行为。只有第一个是不稳定的。谁能看到可能导致这种情况的原因?
这是我的测试用例:http: //joshrenaud.com/pd/testcase/testcase.html
处理这种调整大小的代码如下所示:
$('.child').click(function(){
var $this = $(this);
if ($this.hasClass('big')) {
tileStyle = { width: 196, height: 70};
}
else {
tileStyle = { width: 402, height: 230};
}
$this.children().children('.childDate').toggle();
$this.children().children('.childDesc').toggle();
$this.toggleClass('big');
$this.find('.child-content').stop().animate( tileStyle );
$('#container').isotope( 'reLayout' )
});