Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何将可滚动div中的项目滚动到顶部_Jquery - Fatal编程技术网

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

Jquery 如何将可滚动div中的项目滚动到顶部,jquery,Jquery,我有一个#联系人列表滚动条div,可以在页面中滚动。根据联系人XXXX ID,我希望设置“联系人列表”滚动条的下注位置,以确保联系人XXX项目位于页面顶部 <div id="contact-list-scroller"> <div id="contact_8965">stuff</div> <div id="contact_8966">stuff</div> <div id="contact_8967">s

我有一个#联系人列表滚动条div,可以在页面中滚动。根据联系人XXXX ID,我希望设置“联系人列表”滚动条的下注位置,以确保联系人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>
但这只是滚动到顶部。思想?谢谢

var scrollTop = $('#contact_' + id).offset().top;

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

.

看看jquery scrollTo插件-您可以使用它滚动到特定的DOM元素 我想你需要。顶。由于position()返回的值是相对于其父级的(与offset()不同),因此它使代码更加灵活。如果更改父容器的位置,代码将不会中断

例如:

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

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

请参阅JSFIDLE:

即使我遇到了同样的情况,也希望将元素滚动到顶部。现在,这种行为得到了直接的支持

只需使用
.scrollIntoView(true)
JavaScript方法


示例:

document.getElementById(“yourElementId”).scrollIntoView(true)


更多信息:


虽然这是实验性的,但很快就会在每个浏览器中得到支持。您可以在以下网址找到更多信息:

在尝试了上述所有方法但均未成功后,我在W3学校找到了此信息:

var-elmnt=document.getElementById(“Top”);

elmnt.scrollIntoView()谢谢,但这似乎不起作用。如果#联系人列表滚动条有以下CSS:位置:绝对;左:0px;顶部:0px;右:0px;底部:0px;您可以考虑使用<代码>位置()/<代码>代替<代码> OffStand()/<代码>。第一个是相对于父项的,后一个是相对于文档的。谢谢,但是这个插件已经好几年没有更新了。安全吗?奇怪的是,这很有道理,但在我的应用程序中不起作用。可能是因为我使用的是绝对定位…可能是因为它没有考虑到当前的滚动位置?另外,如果它是一个很长的列表,最终返回的contactTopPosition为-2311等。我的演示使用的css与您在下面的评论中发布的相同。联系人列表滚动条的子div是否以某种方式设置了样式?也许我可以看一个现场演示?它一开始是有效的,但由于某些原因,它不能持续和重复地工作。。。我在同一个演示的另一个版本中添加了一些按钮:同一个问题,
position()。top
并非每次都有效,找到了任何解决方案吗?我知道这个答案已经有一年多的历史了,但我今天在Chrome上尝试了这个解决方案,效果很好。FYIscrollIntoView对我不起作用。我有一个div,在导航项目上悬停时显示,在该div中我有2个div。一个只是一个列表,另一个是另一个可滚动且内容隐藏的div。当他们将鼠标移到左边的一个项目上时,我希望右边的div滚动到关于该项目的部分。scrollIntoView可以正确地滚动该div,但也可以将整个页面体向下滚动到该div的顶部。
$("#contact-list-scroller").animate({scrollTop: contactTopPosition});