2

たくさんのテキストが入ったコンテナがあり、そのコンテナ内のさまざまな要素に自動スクロールしたいと思います。jQueryを使用してコンテナをアニメーション化して特定の距離をうまくスクロールできますが、その距離を判断するのに多くの問題があります。

私が見るヒントのほとんどは、.offset()。topプロパティを使用してその距離を取得することを推奨していますが、この場合は機能しません。 例については、このjsfiddleをご覧ください。

:フィドルは、コンテナーの直接の子である段落タグを対象としていますが、私はそれに依存したくありません。要素がどれほど深くネストされていても、任意の要素に対して適切なスクロール距離を取得できるようにしたいと思います。

4

2 に答える 2

6

これを使用してみてください:

var pOffset = $("#lipsum").scrollTop();
pOffset = pOffset + $("#lipsum p.active").position().top; 

.scrollTop()DIVの現在のスクロール位置を指定し、それにP要素の位置を追加すると、スクロールが正常になります。

于 2012-05-03T18:42:24.917 に答える
4

.offset()ページ全体に対する要素の位置を取得します。

ここで必要なのは.position()、それを含む要素の上部に対する要素の位置を取得することです。

編集:ここでは、更新されたJSFiddleで動作します

編集2:スクロール位置を追加しないと機能しないことに気づきました。.scrollTop()含まれているdivから追加する必要があります。これが更新されたJSFiddleです。(今回は動作します)

于 2012-05-03T18:39:21.217 に答える