如何用自己的滚动条以编程方式滚动div?

时间:2012-05-17 11:30:38

标签: html css html5

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

我该怎么做? (请注意,我不想自动滚动Window滚动条 - 我已经知道如何执行此操作)

需要跨平台解决方案

5 个答案:

答案 0 :(得分:39)

div有一个scrollTop属性,您可以设置(及其朋友scrollLeft)。

答案 1 :(得分:2)

添加div(您要滚动的位置):

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

并添加如下链接:

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

如果您想要平滑滚动,可以查看this

答案 2 :(得分:2)

只要JavaScript可以接受,我创建了一个demo using jQuery,它使用div内ID的已知元素。

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

如果你只知道像素而不是特定元素的距离,它可以适应:

$(function() {
    $('#scroll').scrollTop(100);
});​

答案 3 :(得分:1)

这个.scrollTo()方法可以帮助您滚动div。试试更多信息,请访问here

答案 4 :(得分:0)

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