在Web应用程序的不同部分重用同位素容器的上下文中,我需要调整容器的大小。但是,在为小布局添加和删除CSS类之后,容器不再占用整个空间。
参见JSFiddle:http://jsfiddle.net/mulderp/ptLzx/5/
$container.addClass('small');
按预期调整容器大小。
$container.removeClass('small');
$container.isotope('shuffle');
预计将取回原始容器。这不起作用。
有关如何使设置正常工作的任何线索?
答案 0 :(得分:1)
这看起来像是一个时间问题,这种情况在Isotope上会发生很多。
如果你在一个shuffle方法周围放置一个1000ms的setTimeout()就可以了 - 因此确认问题......
$('#large').click(function(){
$container.removeClass('small');
var timer = setTimeout(function(){
$container.isotope('shuffle');
},1000);
});
超时根本不理想,但它确实说明了Isotope需要在更新之前完成。我建议您使用不同的计时器进行测试,直到找到合适的结果。
我还建议您使用$container.isotope('reLayout')
而不是$container.isotope('shuffle')
,除非您特别需要对项目进行随机播放,因此创建该方法是为了完成此操作。