如何将可滚动div内的项目滚动到顶部
我有一个在页面中滚动的#contact-list-scroller div。 基于contact_XXXX ID,我希望#contact-list-scroller滚动位置设置为下注以确保contact_XXX项目位于页面顶部。
stuff stuff stuff stuff stuff .....
这是我到目前为止所拥有的:
$('#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/
即使我有相同的情况,并希望滚动元素到顶部。 现在,直接支持这种行为。
只需使用
JavaScript方法。
例:
document.getElementById("yourElementId").scrollIntoView(true);
更多信息:
虽然现在是实验性的,但很快就会得到每个浏览器的支持。 您可以在以下位置找到更多相关信息: MDN
var scrollTop = $('#contact_' + id).offset().top; $('#contact-list-scroller').attr('scrollTop', scrollTop);
jsFiddle 。
看一下jquery scrollTo插件 – 你可以用它来滚动到一个特定的DOM元素http://flesler.blogspot.com/2007/10/jqueryscrollto.html
在完成上述所有操作后,我没有成功,我在W3schools找到了这个:
var elmnt = document.getElementById("Top"); elmnt.scrollIntoView();