1. 程式人生 > >gridster.js–可拖拽的網格外掛

gridster.js–可拖拽的網格外掛

gridster.js 是一個 jQuery 外掛用來構建直觀的可拖放的佈局,支援多列布局,你還可以動態的新增和刪除表格中的元素。

可拖放的佈局jQuery外掛 gridster.js\

主要特性

1.只依賴jQuery

2.支援元素的新增和刪除

3.文件比較全

4.擁有測試用例,你可以檢視你的瀏覽器的測試結果

5.比較適合開發益智遊戲

如何使用

引入類庫,包括jQuery和gridster.js:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="js/jquery.gridster.min.js"></script> 

然後匯入gridstrer的css檔案:

<link type="text/css" href="css/jquery.gridster.min.css">

HTML內容如下:

複製程式碼
<div>
   <ul>
    <li data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
    <li data-row="2" data-col="1" data-sizex="1" data-sizey="1"></li>
    <li data-row
="3" data-col="1" data-sizex="1" data-sizey="1"></li> <li data-row="1" data-col="2" data-sizex="2" data-sizey="1"></li> <li data-row="2" data-col="2" data-sizex="2" data-sizey="2"></li> <li data-row="1" data-col="4" data-sizex="1" data-sizey="1"></
li> <li data-row="2" data-col="4" data-sizex="2" data-sizey="1"></li> <li data-row="3" data-col="4" data-sizex="1" data-sizey="1"></li> <li data-row="1" data-col="5" data-sizex="1" data-sizey="1"></li> <li data-row="3" data-col="5" data-sizex="1" data-sizey="1"></li> <li data-row="1" data-col="6" data-sizex="1" data-sizey="1"></li> <li data-row="2" data-col="6" data-sizex="1" data-sizey="2"></li> </ul> </div>
複製程式碼

注意gridster.js使用HTML5的data屬性來定義相關的拖放元素屬性,data-row為行號,data-col為列號,data-sizex為X軸元素寬度,datasizey為Y軸元素寬度。

最後呼叫外掛js,程式碼如下:

$(".gridster ul").gridster({
 widget_margins: [10, 10],
 widget_base_dimensions: [140, 140]
});

這裡是通過建立的屬性來設定每一個區域的大小及定位,所涉及的屬性如下:
data-row:資料行,元素所存在的行數。
data-col:資料列,元素所存在的列數。
data-sizex:元素塊的寬(以個為單位,每個元素塊的寬度為widget_base_dimensions所設定的值)
data-sizey:元素塊的高(以個為單位,每個元素塊的高度為widget_base_dimensions所設定的值)
例:widget_base_dimensions: [150, 150]
那麼每個元素塊的寬/高分別為150px/150px
注:元素塊合併時的寬度並不只是兩個元素塊之和
即寬度={data-sizex=”2″}=元素塊X2+右側的邊距==150*2+4=304px
高度={data-sizey=”1″}=元素塊X1==150*1=150px

這裡我們只需要設定兩個數值,寬高/邊距;如
widget_margins:
設定網格之間的外邊距;所傳的數值是實際畫素的2倍,如[2,2]==[4px,4px]=[右邊距,下邊距]。
widget_base_dimensions:
設定網格的寬高;所傳的數值=實際畫素,如[150,150]==[150px,150px]=[width,height]。

演示 - 文件 - 下載