这是我自己的插件(会将元素放在列表的顶部。专门用于overflow-y : auto
。可能无法使用overflow-x
!):
注意:elem
是页面将滚动到的元素的HTML选择器。:由jQuery的,等支撑什么#myid
,div.myclass
,$(jquery object)
,[DOM对象]等
jQuery.fn.scrollTo = function(elem, speed) {
$(this).animate({
scrollTop: $(this).scrollTop() - $(this).offset().top + $(elem).offset().top
}, speed == undefined ? 1000 : speed);
return this;
};
如果不需要动画,请使用:
jQuery.fn.scrollTo = function(elem) {
$(this).scrollTop($(this).scrollTop() - $(this).offset().top + $(elem).offset().top);
return this;
};
如何使用:
$("#overflow_div").scrollTo("#innerItem");
$("#overflow_div").scrollTo("#innerItem", 2000); //custom animation speed
注意:#innerItem
可以在里面的任何地方#overflow_div
。并不一定要是直子。
在Firefox(23)和Chrome(28)中进行了测试。
如果要滚动整个页面,请检查此问题。