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

Javascript or html - scroll to a div inside scrollable div

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

我试过一些像

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

但我完全不知道 scrollTop 是否是正确的方法? (而且我知道我没有正确使用它)

在 javascript(首选)或简单的 html 中是否有任何直观的方法来做到这一点?

您需要将外div的scrollTop()设置为内divposition().top。另外,您设置 scrollTop 的语法有点不对劲。试试这个:

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

Example fiddle

  1. 您不能将方法的 return 值分配给其他东西。右值无法评估。

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

  2. 您想要的应该可以通过将封闭容器的 scrollTop 设置为子元素相对于父元素的偏移量来实现。

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

使用Javascript

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

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

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

Fiddle