jquery - 如何将可滚动 div 内的项目滚动到顶部

标签 jquery

我有一个在页面中滚动的#contact-list-scroller div。根据 contact_XXXX ID,我希望设置 #contact-list-scroller 滚动位置,以确保 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() 。顶部。因为position()返回的值是相对于其父级的(与offset()不同),所以它使您的代码更加灵活。如果更改父容器的位置,您的代码不会中断。

示例:

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

或动画:

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

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

关于jquery - 如何将可滚动 div 内的项目滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5846595/

相关文章:

javascript - 如何在 jQuery 中触发点击事件?

javascript - 全页面布局的基本设计

javascript - 通过自定义数据属性值查找元素

jquery - 在主干上添加请求 header

javascript - 纯 Javascript 中的 AJAX 后期实现

jQuery:是否有机会在没有 "Offset"方法的情况下检测鼠标从哪一侧进入 div?

jquery - 在 jquery 中更改多个 div 位置

jquery - 禁用 Twitter Bootstrap 模式

javascript - 更改动态添加的选择选项

javascript - Bootstrap Datepicker,maxdate,从第一个日期选择开始的 2 天