1

私には<ul>要素があります。その CSS オーバーフロー プロパティはscroll.
スクロールバーがあるように、リストにいくつかのリスト要素があります。

<ul style="overflow: scroll; height: 100px;">
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   ...
   <li></li> // how can I judge if this element is in the viewport?
</ul>

特定のリスト項目がそのリストに表示されているかどうかを確認するにはどうすればよいですか?

また、現在表示されていない場合、どのプロパティを使用してスクロールして表示できますか?

PS: ライブラリはありません(jQuery、MooTools など)

4

2 に答える 2

-1

jQuery の使用に問題がない場合は、これがスクロールelemして上部に表示されます。

function scrollTo(elem) {
    var offset = $(elem).offset();
    $(window).scrollTop(offset.top);
}

(スクロールをアニメーション化することもできます: jQuery scroll to element )。

別の解決策として、 を使用し<a target="foo"></a>、URL フラグメントを特定の要素にスクロールするように変更することもできますが、具体的には JavaScript から通知できるように要求しましたが、これではできません。

于 2013-11-03T09:11:14.267 に答える