我有以下脚本可行,但我不认为这是一个很好的方法:
success: function( widget_shell )
{
if( widget_shell.d[0] ) {
$( "#container" ).empty();
var i = 0;
for ( i = 0; i <= widget_shell.d.length - 1; i++ ) {
var j = Math.floor(Math.random() * 200) + 50
var $widget = $( "<div class='item col1' style='height:" + j + "px'></div>" ).appendTo( $( "#container" ) );
$( "<span>" + widget_shell.d[i].widget_id + " - " + j + "</span>" ).appendTo( $widget );
}
$('#container').masonry({
itemSelector : '.item',
columnWidth: 240
});
$('#container').masonry('reload')
}
}
我主要担心的是.masonry
部分。由于success
多次发生,即按照ajax请求,我认为上面的代码每次重新启动.masonry
然后重新加载它。
我尝试在包含.masonry
的函数之外和之上移动success
启动,但似乎尝试在.masonry
之前初始化div
创建,所以它不起作用。
有任何建议,或者这是解决这个问题的好方法吗?
答案 0 :(得分:0)
你可以测试一下,不确定它是否适用于砌体插件:
if($().masonry == 'undefined')
$('#container').masonry({
itemSelector : '.item',
columnWidth: 240
});
$('#container').masonry('reload')
答案 1 :(得分:0)
如果它有效,你为什么要打扰它?我不会。您可以使用Jquery模板插件。也许它只是快一点DOM。在我的签名中查看砌砖的例子。