我正在使用流行的 jquery 插件 Masonry 来很好地适应我的列在我的布局中。我正在使用 setInterval 来解决与 BoltHead 完全相同的问题: JQuery, setTimeout not working
解决方案是使用 setTimeout 每秒更新一次砌体插件,如下所示:
$(function() {
setInterval(update, 500);
});
function update() {
var $container = $('#packages');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector : '.mainPackage',
columnWidth : 316,
singleMode: true,
gutterWidth: 15
});
});
}
就浏览器性能而言,这是一个坏主意吗?我认为 jquery 每秒运行这个相当庞大的函数会减慢速度。这是一个不好的做法吗?我这样做的原因是因为我正在使用 .slideToggle 向下滑动更多内容,因此需要砌体来重新调整布局。对此解决方案有任何想法吗?