Javascript或html - 滚动到可滚动div内的div

时间:2015-04-20 08:22:22

标签: javascript jquery jscrollpane

我有一个可滚动的div(800px x 400px)。里面是500个较小的div(100px x 80px),所以它是一个长滚动的div。每个较小的div都有一个id。我想按下按钮时滚动到特定的div。

我尝试了一些像

$("#outerDiv").scrollTop() = $("#innerDiv").scrollTop();

但我不知道scrollTop是否是正确的方法? (我知道我不能正确使用它)

有没有直观的方法在javascript(首选)或简单的html中执行此操作?

3 个答案:

答案 0 :(得分:2)

使用Javascript

document.getElementById('outerDiv').scrollTop = document.getElementById('innerDiv').offsetTop;

滚动顶部 如果要滚动元素的内容,请使用scrollLeft和scrollTop属性 - Link

偏移顶部 HTMLElement.offsetTop只读属性返回当前元素相对于offsetParent节点顶部的距离。 MDN -Link

Fiddle

答案 1 :(得分:1)

  1. 您无法将方法的返回值分配给其他内容。无法评估正确的值。

    $("#outerDiv").scrollTop() = something错误

  2. 通过将封闭容器的scrollTop设置为子元素与父元素的偏移量,可以实现所需的功能。

    $("#outerDiv").scrollTop($("#innerDiv").position().top);

答案 2 :(得分:0)

您需要将外部div的scrollTop()设置为内部position().top的{​​{1}}。您设置div的语法也有点偏差。试试这个:

scrollTop

Example fiddle