2

私が抱えているエラーは次のとおりです。

私のページの右側には、興味深いポイントのリストがあります(ページの左側の地図に表示されています)。リストがとても長いので、私はiScroll 4(素晴らしいプラグイン)を使用しています。

ただし、ユーザーがリストをスクロールしたときにイベントを発生させるので、現在ユーザーに表示されているアイテムを確認できます。iScrollにはすでにそのためのイベントが設定されているので、必要なときに起動する関数があります。しかし、リストアイテムの適切な座標を取得できないようです。

何が起こるかは次のとおりです。

  1. リストが読み込まれると、最初の要素の.offset()値が取得されます。offset.top = 35です。これは、リストがページの上端より35px低い位置から始まるためです。これはいい。
  2. リストをスクロールすると、500pxでプルダウンするとします。新しい場所は35px-500px=-465pxになると思います。ただし、35と表示されています。リストをスクロールしても、移動しても要素の座標には影響しません。

実際の座標を取得するにはどうすればよいですか?

4

2 に答える 2

9

iScrollで遊んで、私は解決策を見つけたと思います。関数は、offset()変更されない#scrollerdivを参照するjavascriptです。ただし、内部的には、iScrollは独自のxプロパティとyプロパティを使用します。

したがって、このようにiScrollオフセットを参照できます

var myScroll = new iScroll(...)
alert(myScroll.y)  // -- will return your offset (negative number)
于 2012-02-23T16:20:19.870 に答える
1

iscroll.jsを追加します

getScrollY: function () { var that = this; return that.y; }, 
于 2013-06-24T15:06:06.647 に答える