我有一个带有用于内容的内部 DIV 的 HTML 页面。内部 DIV 有自己的滚动条。我想自动滚动到 DIV 中的某个位置。
我怎样才能做到这一点?(请注意,我不想自动滚动 Window 滚动条 - 我已经知道该怎么做)
需要一个跨平台的解决方案
div 有一个scrollTop
你可以设置的属性(和它的朋友,scrollLeft
)。
有这种.scrollTo()
方法可以帮助您滚动浏览您的 div。尝试了解更多信息,请访问此处
只要 JavaScript 是可以接受的,我就使用 jQuery 创建了一个演示,它使用了一个已知元素,其 ID 位于div
.
$(function() {
var testOffset = $('#test').offset(),
scrollOffset = $('#scroll').offset();
$('#scroll').scrollTop(testOffset.top - scrollOffset.top);
});
如果您只知道像素方面的距离,而不是特定元素,它可以适用于:
$(function() {
$('#scroll').scrollTop(100);
});
添加一个 div (要滚动的地方):
<div id="#scroll-here">Test..</div>
并添加这样的链接:
<a href="#scroll-here">Scroll to Test</a>
如果你想要一个平滑的滚动,你可以检查这个
我建议看一下scrollTo jQuery 插件。这是一个非常方便的插件,可让您在任何元素中为滚动设置动画。我在jsFiddle中设置了一个小例子来演示它是如何工作的。该示例显示了如何“滚动到”第p
一个中的第三个div
,然后是第二个p
中的第二个div
。值得注意的一件事是,为确保position().top
正确,您需要将包含设置div
为具有position: relative;
. 希望这不是太大的问题。:)