首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将可滚动div中的项滚动到顶部

如何将可滚动div中的项滚动到顶部
EN

Stack Overflow用户
提问于 2011-05-01 13:08:50
回答 4查看 45.7K关注 0票数 21

我有一个#contact-list-scroller div可以在页面中滚动。基于联系人ID,我希望#contact-list- contact_XXXX滚动位置可以下注,以确保contact_XXX项位于页面顶部。

代码语言:javascript
复制
<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>

这是我到目前为止所知道的:

代码语言:javascript
复制
$('#contact-list-scroller').scrollTop($('#contact_' + id).scrollTop());

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

EN

回答 4

Stack Overflow用户

发布于 2011-05-01 15:56:56

我想你会需要position().top。因为position()返回的值是相对于其父对象的(与offset()不同),所以它使您的代码更加灵活。如果你改变了你的父容器的位置,你的代码不会崩溃。

示例:

代码语言:javascript
复制
var contactTopPosition = $("#contact_8967").position().top;
$("#contact-list-scroller").scrollTop(contactTopPosition);

或动画:

代码语言:javascript
复制
$("#contact-list-scroller").animate({scrollTop: contactTopPosition});

请参阅jsfiddle:http://jsfiddle.net/5zf9s/

票数 30
EN

Stack Overflow用户

发布于 2018-09-19 08:05:21

在尝试了上面所有的方法都没有成功之后,我在W3schools上找到了这个:

代码语言:javascript
复制
var elmnt = document.getElementById("Top");
elmnt.scrollIntoView();

票数 2
EN

Stack Overflow用户

发布于 2011-05-01 13:13:04

代码语言:javascript
复制
var scrollTop = $('#contact_' + id).offset().top;

$('#contact-list-scroller').attr('scrollTop', scrollTop);

jsFiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5846595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档