据我了解,gridster“小部件”是一个任意元素,可以是:
- 在通过widget_selector选项初始化 gridster 时
选择,该选项可以是 CSS 选择器字符串或 HTMLElements 的 jQuery 集合,它默认为
li
,这就是为什么如果您的网格基于 an 则不需要它的原因<ul>
:
var MyGrid = $(".gridster ul").gridster({
widget_selector: 'li',
widget_margins: [10, 10],
widget_base_dimensions: [140, 140]
}).data('gridster');
因此,您可以创建仪表板项目,选择它们,并在 gridster 初始化时传递它们,或者您可以每次将它们与您的数据一起添加。您也不必使用 ul/li,我已经将它与 div 一起使用,只要您在父容器上初始化 gridster 并将其传递给“widget”元素的 jQuery 集合,它就可以正常工作。
<ul>
<li id='first' class='dash-widgets'></li>
<li id='second' class='dash-widgets'></li>
</ul>
$('#first').data({name:'cpu',speed:'1'});
var widgets = $('.dash-widgets');
var MyGrid = $(".gridster ul").gridster({
widget_selector: widgets,
widget_margins: [10, 10],
widget_base_dimensions: [140, 140]
}).data('gridster');
var newWidget = MyGrid.add_widget = $("<li id='new'>My New Widget</li>");
newWidget.data({name:'mem',speed:'-1'});