我正在使用嵌套排序来创建UI编辑器。我猜这与portlet基本类似。用户选择小部件或小部件持有者并可以在屏幕上移动它们,然后保存。他们真的很跳跃,不喜欢坚持某些地方。看起来他们似乎更喜欢被自上而下拖动。我已经尝试添加填充到持有人和小部件,它似乎并没有使它更好。有谁知道一个非常好的方法来使这个废话更准确?我已经尝试了几乎所有我能找到的东西....我理解这个问题(大多数情况下),我只是想不通一个问题。一个问题是当它卡入某个位置时,某些东西移动,有时移动会使布局发生剧烈变化,占位符会来回跳跃试图解决。我不明白为什么我不能让它去到持有者的顶部但是...这是我的js:
$(".widget_holder").sortable({
distance: 30,
revert: true,
items: ".widget",
opacity: .8,
scroll: true,
scrollSensitivity: 100,
scrollSpeed: 100,
handle: ".move_widget",
dropOnEmpty: true,
tolerance: "pointer",
cursorAt: { top:0, left: 0 },
start: function(e, ui){
$(".widget_holder", ui.item).hide();
$('.widget').addClass("drag_padding");
$(".widget_holder" ).addClass("holder_hover").addClass("drag_padding").sortable("refresh");
},
update: function(e, ui){
if(this === ui.item.parent()[0]) {
updateByHolder();
}
},
stop: function(e, ui){
$(".widget_holder", ui.item).show();
$('.widget').removeClass("drag_padding");
$(".widget_holder" ).removeClass("holder_hover").removeClass("drag_padding");
}
}).sortable(
"option", "connectWith", '.widget_holder'
);
答案 0 :(得分:1)
尝试删除tolerance: "pointer",
或将其替换为tolerance: "intersect",
pointer
作为tolerance
选项会使整个列表非常跳跃!
答案 1 :(得分:1)
父母的Results
怎么样(ul,#element_id等)?