gridster.js 限制单元格大小

我们可以通过 gridster.js  data-max-sizexdata-max-sizey, data-min-sizex and data-min-sizey 属性限制单元格大小,比如放大缩小时最多只能跨3行3列。

通过 Html 属性设置

<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>

在线试一试

通过 add_widget 设置

   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]);
    });
 });

在线试一试