如何在iScroll中获取滚动方向

时间:2012-03-20 05:45:06

标签: iphone iscroll

首先,我真的很抱歉我的英语不好......

现在我在做PhoneGap开发。 我使用iScroll进行listview滚动。 我希望得到滚动方向。

对于示例,当我向下滑动屏幕时,滚动条将向上滚动。当我向上滑动屏幕时,滚动条将向下滚动,以及如何在滚动时获得滚动条的方向?

任何人都可以帮忙吗? 我将不胜感激!

2 个答案:

答案 0 :(得分:6)

我有同样的自我提问,最后使用了iScroll实例的.dirX.dirY属性。它们的值始终为1(左/上),0(无)或-1(右/下),如果方向为开,则可以很好地评估为true特定的轴。

new iScroll("your_element_id", {
    onTouchEnd: function(){
        alert(this.dirX); // Returns 1, 0 or -1
        alert(!!this.dirX); // Returns true for horizontal
    }
});

由于我需要获取轻弹的方向,我使用onTouchEnd事件,但同样适用于onScrollMove(以及可能还有其他事件)。

答案 1 :(得分:1)

没有直接的方法可以做到这一点,但你可以通过事件实现这一点。

您可以使用onScrollStart事件来检测滚动何时开始。使用.x记录当前位置,并启动间隔(setInterval)以继续检查新的当前位置。然后你可以做出改变并弄清楚你是向左还是向右滚动。

确保清除卷轴上的间隔。