我正在使用 Gridster 插件(http://gridster.net)。我在 Github 上找到了一个可调整大小的更新演示。我还添加了 jQuery livequery 插件,以便更好地配合未来的项目。
添加新的网格项目后,可拖动/可调整大小都可以工作。默认项目工作正常,只有新项目的问题。这就是我使用代码的方式:
调整大小 + 拖动
var layout;
var grid_size = 30;
var grid_margin =5;
$(function() {
layout = $('.layouts_grid ul').gridster({
widget_margins: [grid_margin, grid_margin],
widget_base_dimensions: [grid_size, grid_size],
serialize_params: function($w, wgd) {
return {
x: wgd.col,
y: wgd.row,
width: wgd.size_x,
height: wgd.size_y,
id: $($w).attr('data-id'),
name: $($w).find('.block_name').html(),
};
},
min_rows: block_params.max_height
}).data('gridster');
$('.layout_block').livequery(function(){
$('.layout_block').resizable({
grid: [grid_size + (grid_margin * 2), grid_size + (grid_margin * 2)],
animate: false,
minWidth: grid_size,
minHeight: grid_size,
containment: '#layouts_grid ul',
autoHide: true,
stop: function(event, ui) {
var resized = $(this);
setTimeout(function() {
resizeBlock(resized);
}, 300);
}
});
});
//This works only for default items
$('.ui-resizable-handle').hover(function() {
layout.disable();
}, function() {
layout.enable();
});
});
添加项目
$('#add').click(function(){
var tmpP = '<li class="layout_block new ui-resizable ui-resizable-autohide" style="background-color: #B60000;">New one</li>'
var gridster = $(".layouts_grid ul").gridster().data('gridster');
gridster.add_widget(tmpP, 2, 1);
});
请检查 JSFiddle 以及http://jsfiddle.net/PrtrR/51/
请帮我做这件事。
问候。