jQuery Columnizer插件只能在窗口调整大小时正常工作

时间:2010-02-06 02:51:35

标签: jquery jquery-plugins

我正在使用jQuery Columnizer plugin,我遇到了一个奇怪的问题。我使用3列将隐藏<div>的内容列入目标<div>。它只向前两列中的每一列分配一个段落,然后将所有剩余段落放入最后一列。

奇怪的是,当窗口调整大小时,它会自动更正。我猜它与目标<div>调整大小有关,因为打开一个firebug控制台窗口也会导致它自动纠正自己。设置lastNeverTallest:true似乎没有做任何事情。

$('#hidden-about').columnize({ 
    columns: 3, 
    target: '#interiors',
    lastNeverTallest: true,
    doneFunc: function() {
        $('#interiors').css('white-space', 'normal');
        $('#interiors').fadeIn(200);
    } 
});

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

确保在DOM元素准备就绪后通过适当的包装来运行它,如下所示:

$(function() {  //document.ready shortcut
  $('#hidden-about').columnize({ ... }); 
});
//or...
$(document).ready(function() { 
  $('#hidden-about').columnize({ ... }); 
}); 
//or, if it depends on image sizing, make sure they're loaded with window.load
$(window).load(function() {  //runs after images are loaded
  $('#hidden-about').columnize({ ... }); 
});

如果这不能解决问题,您可以使用.resize()这样手动调用它必须重新渲染的事件:

$(window).resize();