jquery – 如何将可滚动div中的项目滚动到顶部

我有一个#contact-list-scroller div在页面中滚动。基于contact_XXXX ID,我希望#contact-list-croller滚动位置被设置为确保contact_XXX项目位于页面顶部。

<div id="contact-list-scroller">
   <div id="contact_8965">stuff</div>
   <div id="contact_8966">stuff</div>
   <div id="contact_8967">stuff</div>
   <div id="contact_8968">stuff</div>
   <div id="contact_8969">stuff</div>
   .....
</div>

这是我到目前为止

$('#contact-list-scroller').scrollTop($('#contact_' + id).scrollTop());

但这只是滚动到顶部。想法?谢谢

我想你会需要position().top。因为position()返回的值是相对于它的父(不像offset()),它使你的代码更加灵活。如果您更改了父容器的位置,代码将不会中断。

例:

var contactTopPosition = $("#contact_8967").position().top;
$("#contact-list-scroller").scrollTop(contactTopPosition);

或动画:

$("#contact-list-scroller").animate({scrollTop: contactTopPosition});

见jsfiddle:http://jsfiddle.net/5zf9s/

翻译自:https://stackoverflow.com/questions/5846595/how-to-scroll-an-item-inside-a-scrollable-div-to-the-top

转载注明原文:jquery – 如何将可滚动div中的项目滚动到顶部