私は動作する次のスクリプトを持っていますが、それを行うのに良い方法ではないと思います:
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
を含む関数の外側と上にイニシエーションを移動しようとしましたが、sが作成される前success
に初期化しようとしているようで、機能しません。.masonry
div
何か提案がありますか、それともこれはこの問題を解決するための良い方法ですか?