38

我有一个带有用于内容的内部 DIV 的 HTML 页面。内部 DIV 有自己的滚动条。我想自动滚动到 DIV 中的某个位置。

我怎样才能做到这一点?(请注意,我不想自动滚动 Window 滚动条 - 我已经知道该怎么做)

需要一个跨平台的解决方案

4

5 回答 5

53

div 有一个scrollTop你可以设置的属性(和它的朋友,scrollLeft)。

于 2012-05-17T11:34:39.727 回答
3

有这种.scrollTo()方法可以帮助您滚动浏览您的 div。尝试了解更多信息,请访问此处

于 2012-05-17T11:36:25.253 回答
3

只要 JavaScript 是可以接受的,我就使用 jQuery 创建了一个演示,它使用了一个已知元素,其 ID 位于div.

$(function() {
    var testOffset = $('#test').offset(),
        scrollOffset = $('#scroll').offset();
    $('#scroll').scrollTop(testOffset.top - scrollOffset.top);
});​

如果您只知道像素方面的距离,而不是特定元素,它可以适用于:

$(function() {
    $('#scroll').scrollTop(100);
});​
于 2012-05-17T11:43:18.070 回答
2

添加一个 div (要滚动的地方):

<div id="#scroll-here">Test..</div>

并添加这样的链接:

<a href="#scroll-here">Scroll to Test</a>

如果你想要一个平滑的滚动,你可以检查这个

于 2012-05-17T11:39:50.990 回答
0

我建议看一下scrollTo jQuery 插件。这是一个非常方便的插件,可让您在任何元素中为滚动设置动画。我在jsFiddle中设置了一个小例子来演示它是如何工作的。该示例显示了如何“滚动到”第p一个中的第三个div,然后是第二个p中的第二个div。值得注意的一件事是,为确保position().top正确,您需要将包含设置div为具有position: relative;. 希望这不是太大的问题。:)

于 2012-05-17T11:46:34.030 回答