Iscroll - Jquery - 获取列表项的位置

时间:2012-02-23 12:33:24

标签: javascript jquery iscroll

我遇到的错误如下:

在我的页面右侧,我有一个有趣的点列表(显示在页面左侧的地图上)。 因为列表太长了,我使用的是iScroll 4(很棒的插件)。

但是,我想要做的是在用户滚动列表时触发事件,这样我就可以检查用户当前可以看到哪些项目。 iScroll已经设置了一个事件,所以我有一个在需要时触发的功能。但是,我似乎无法获得列表项的正确坐标。

以下是:

  1. 当列表加载时,我得到第一个元素的.offset()值。 offset.top = 35,因为我的列表比页面的上边缘低35px。这很好。
  2. 滚动列表时;说我拉下500px;我希望新位置为35px - 500px = -465px。然而,它会说35。滚动但是列表不会影响元素坐标,即使它已经移动了。
  3. 如何获得实际坐标?

2 个答案:

答案 0 :(得分:9)

使用iScroll,我想我找到了解决方案。 offset()函数是javascript引用#scroller div,它不会改变。但在内部,iScroll使用自己的x和y属性。

所以你可以像这样参考iScroll偏移

var myScroll = new iScroll(...)
alert(myScroll.y)  // -- will return your offset (negative number)

答案 1 :(得分:1)

添加iscroll.js

getScrollY: function () { var that = this; return that.y; },