网格不能动态移动小部件
Gridster not dynamically moving widgets
我正在尝试使用Gridster.js在我的项目中做一些拖放功能。
我在我的小部件中使用了一堆div,其中包含表单和按钮,而不是使用无序列表。
我的问题是,我的第一列是不能够拖动,我不能把我的小部件的任何地方。他们只是回到原来的位置
这是我的布局:
<div class="gridster">
<div class="dragMe" data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="1" data-col="2" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="2" data-col="1" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="2" data-col="2" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
... ETC
</div>
这里是我的js,它在doc ready
中var gridster = $('.gridster').gridster({
widget_margins: [5,5],
widget_selector: '.dragMe',
widget_base_dimensions: [264, 103],
max_cols: 5,
max_rows: 5,
resize: {
enable: true
},
draggable: {
start: function(event, ui) {
dragged = 1;
},
stop: function(event, ui){
var id = this.$helper[0].attributes[0].value;
var row = this.$helper[0].attributes[1].value;
var col = this.$helper[0].attributes[2].value;
console.log(id, row, col);
},
items: '.dragMe',
limit: true
}
}).data('gridster');
我有grister.js和css文件。有什么改进的建议吗?
我认为你的代码中有其他东西把它搞砸了;检查这个文件,我复制并粘贴了你的代码,只添加了:
.dragMe {
background-color:#0f0;
}
.preview-holder {
background-color:#000!important;
}
只是给它们上色,这样你就能看到小部件了。除此之外,我唯一改变的是按钮的文本和你的"…"等。如果你试图通过按钮拖动它,它不会拖动,但你可以从小部件上的任何地方拖动。
如果出于某种原因你需要按按钮拖动,我建议将其更改为非输入/按钮元素,并模拟JavaScript所需的任何功能。
当我的网格出现问题时,我会检查:
开始/结束标签都匹配
数据属性是有意义的(如果小部件重叠,Gridster会发疯)
样式被正确应用-确保它是应该看起来像你想的那样。
我有几次我期待看到一件事,因为我没有假设javascript是错误的,但它缺少CSS样式。
Gridster要求在<div class="gridster">
元素下面有一个元素(如div
或ul
):
<div class="gridster">
<div class="gridster-container">
<div class="dragMe" data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="1" data-col="2" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="2" data-col="1" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
<div class="dragMe" data-row="2" data-col="2" data-sizex="1" data-sizey="1">
<form>
<button>//button stuff here </button>
</form>
</div>
... ETC
</div>
</div>
和JavaScript:
var gridster = $(".gridster div.gridster-container").gridster({...
你也可以使用ul
和li
,就像他们在他们的网站上使用的。
我测试了很长时间,你必须从你的代码中删除它:
widget_base_dimensions: [264, 103]
相关文章:
- 如何在小页面中移动折叠下方的渲染阻塞javascript
- 移动小程序而不重新加载
- 在非移动友好页面上创建移动友好小部件
- 将变量从PHP移动到Javascript小部件
- Crocodic文档的字体在移动设备上太小
- JavaScript - 向右移动小数位
- 检查移动网站的小分辨率
- 以编程方式移动网格小组件
- 如何自定义jquery移动选择小部件展望
- 粘性页脚CSS使jQuery小部件在滚动时从各自的位置移动
- JavaScript在小屏幕移动设备上的可访问性
- 如何使网站滚动背景不移动和工具栏自动最小化
- 当用户上下滚动页面时,使一个小箭头从左向右移动
- 使用GWT动态移动小部件
- 创建一个随页面滚动而移动的浮动小部件
- 更新对象'相机移动时的几何图形会导致小故障-three.js
- Wordpress巨型菜单小部件与现有模板的移动样式问题
- 如何让JS代码在最小化或睡眠时在移动设备上运行
- jquery移动可折叠小部件样式不起作用
- 删除小屏幕/移动设备上的输入占位符,但在调整为桌面大小时再次添加它们