我们可以通过 gridster.js
data-max-sizex
、 data-max-sizey
, data-min-sizex
and data-min-sizey
属性限制单元格大小,比如放大缩小时最多只能跨3行3列。
<p>限制缩放大小</p>
<div class="gridster">
<ul>
<!--最大3行3列-->
<li data-row="1" data-col="1" data-sizex="2" data-sizey="2" data-max-sizey="3" data-max-sizex="3">1</li>
</ul>
</div>
<script type="text/javascript">
var gridster;
$(function () {
//初始化 gridster 对象
gridster = $(".gridster ul").gridster({
//每个单元格最小的宽高 单位像素
widget_base_dimensions: [150, 150],
//单元格之间的距离
widget_margins: [5, 5],
//是否可以放大缩小单元格
resize: {
enabled: true
}
}).data('gridster');
});
</script>
var gridster;
var serialization = [
{ row: 1, col: 1, size_x: 2, size_y: 2 },
];
// sort serialization
serialization = Gridster.sort_by_row_and_col_asc(serialization);
$(function () {
//初始化 gridster 对象
gridster = $(".gridster ul").gridster({
//每个单元格最小的宽高 单位像素
widget_base_dimensions: [150, 150],
//单元格之间的距离
widget_margins: [5, 5],
//是否可以放大缩小单元格
resize: {
enabled: true
}
}).data('gridster');
gridster.remove_all_widgets();
$.each(serialization, function (index) {
//最大允许占3列3行 最小2行2列
gridster.add_widget('<li>' + (index + 1) + '</li>', this.size_x, this.size_y, this.col, this.row, [3, 3], [2, 2]);
});
});