刷卡时向左滑动?

时间:2012-11-01 20:43:23

标签: javascript jquery

是否可以捕获用户在页面元素上向左滑动,然后在滑动时运行功能?我有一些解决方案,但是如果您在页面上向下滚动,并且您的手指在元素上稍微向左滑动,它会运行该功能。

我目前的解决方案:

function touchMove() {
    finalCoord.x = event.targetTouches[0].pageX;
    changeX = originalCoord.x - finalCoord.x;
    var changeY = originalCoord.y - finalCoord.y;
    if (changeY < threshold.y && changeY > (threshold.y * -1)) {
        changeX = originalCoord.x - finalCoord.x;
        if (changeX > threshold.x) {
            $(document).off("touchmove", ".row");
            if ($(event.target).attr("class") === "row-inside") {
                var element = $(event.target);
            }
            if ($(event.target).attr("class") === "row-l") {
                var element = $(event.target).parent();
            }
            if ($(event.target).attr("class") === "row-r") {
                var element = $(event.target).parent();
            }
            setTimeout(function () {
                $(document).on("touchmove", ".row", function () {
                    touchMove();
                });
            }, 800);
        }
    }
}
function touchStart() {
    originalCoord.x = event.targetTouches[0].pageX;
    finalCoord.x = originalCoord.x;
}
$(document).on("touchmove", ".row", function () {
    touchMove();
});
$(document).on("touchstart", ".row", function () {
    touchStart();
});
}

我考虑过使用jQuery mobile,但swipeLeft事件只会在滑动结束时触发,而不会在此期间触发。

1 个答案:

答案 0 :(得分:0)

这个词就是拖延。

我尝试了很多方法,目前最好的方法是使用Hammer.js。

使用https://github.com/EightMedia/hammer.js/wiki/Getting-Started Hammer.js dragleft事件。

在此处查看您的移动设备上的一些示例:http://eightmedia.github.io/hammer.js/examples/carousel.html用于拖拽尝试旋转木马。