【发布时间】:2014-04-01 01:38:32
【问题描述】:
我有一页只有水平方向(在 X 轴上)的可拖动 div。
当我在触摸设备中时,由于滚动和拖动之间的冲突,我无法向下滚动页面。
这是jsfiddle example(在触摸设备中测试并尝试滚动)。
我的可拖动代码:
$(".cell").draggable({
axis: "x",
drag: function (event, ui) {
var size = $(".cell").width();
if (ui.offset.left > size - em(4)) {
ui.position.left = size - em(4);
}
},
start: function (event, ui) {
if (initialPosition == null) {
initialPosition = ui.position.left;
}
$(".cell").not(ui.helper).each(function () {
var pos = $(this).position().left;
if (pos > 0) {
$(this).animate({
left: initialPosition
}, 200, null);
}
});
},
stop: function (event, ui) {
var size = $(".cell").width();
if (ui.position.left > initialPosition) {
if (ui.position.left - initialPosition >= size / 3) {
ui.helper.animate({
left: size - em(4)
}, 200, null);
} else {
ui.helper.animate({
left: initialPosition
}, 200, null);
}
}
}
});
我想在开始拖动之前检测用户是否垂直滚动并取消 水平拖动。
请帮帮我。我怎样才能做到这一点?
【问题讨论】:
-
我建议使用浮动按钮来上下移动。
标签: javascript html jquery-ui mobile jquery-ui-draggable