0

在一个 div 中,我有三个绝对 div,它们应该在我的容器中滚动以获得小的视差效果。我做了一个函数来跟踪e.pageX鼠标按下时的偏移量。如果鼠标在拖动之前出现,我将其注册为单击事件(检查是否有人单击了屏幕的左侧或右侧)。

问题:这在 iPad 上不起作用。我尝试了很多我在这个网站上找到的解决方案,但我无法让它工作。

你们能指出我在 iPad 上的工作功能吗?

var isDragging = false;
var currentPosition = 0;
var startClick = 0;
var showcaseWidth = $('#showcase').width();
var direction = "";

$('#showcase')
.mousedown(function(e) {
    startClick = e.pageX;
    $(window).mousemove(function(e) {
        isDragging = true;
        var x = e.pageX;
        userIsDragging(x);
    });
    return false;
})
.mouseup(function(e) {
    var wasDragging = isDragging;
    isDragging = false;
    $(window).unbind("mousemove");
    if (!wasDragging) { //was clicking
        var x = e.pageX;
        if(x>(showcaseWidth/2))
            $("#tracker").text("go left");// bijvoorbeeld userIsDragging 1024px of naar t volgende snap punt
        else
            $("#tracker").text("go right");

    }
});
function userIsDragging(x) {
    var movement = x - startClick;
    $("#tracker").text(movement);
}
4

1 回答 1

0

我推荐使用 jQuery Mobile Drag&Drop 插件。项目: http: //www.jsplugins.com/Scripts/Plugins/View/Jquery-Mobile-Drag-And-Drop/ 演示: http: //www.stevefenton.co.uk/cmsfiles/assets/File/mobiledragdrop。 html

替代方案: http ://stephband.info/jquery.event.move/

于 2013-06-05T12:38:08.230 回答