我有一个#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/