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

Fla*_*ter 2 javascript jquery iscroll

我遇到的错误如下:

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

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

会发生什么是以下情况:

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

我怎样才能获得实际坐标?

aln*_*fie 9

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

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

var myScroll = new iScroll(...)
alert(myScroll.y)  // -- will return your offset (negative number)
Run Code Online (Sandbox Code Playgroud)