滚动到隐藏元素

Ton*_*ony 5 jquery jquery-animate

我在表 td 内有一个隐藏的输入字段,当我选择选项 AI 时,希望浏览器向下滚动到table td. 我试过下面的代码,但有些东西不能正常工作。输入字段的ID:#id_a-1-host

jQuery('html,body').animate({scrollTop: jQuery('#id_a-1-host').offset().top},'slow');
Run Code Online (Sandbox Code Playgroud)

它向下滚动,但只有一点点。它没有向下滚动到输入字段。

Pra*_*man 5

该scrollTop基于知名度,如果你有看不到它,使用display: none,它不是在视口中可用的,所以它不会按预期方式工作。在这些情况下,最好使用命名锚点:

<a name="id-a-off" id="id-a-off">
Run Code Online (Sandbox Code Playgroud)

或者甚至一个空的跨度也可以:

<span name="id-a-off" id="id-a-off"></span>
Run Code Online (Sandbox Code Playgroud)

确保这是在静态父级中。

此外,如果您有静态标题或其他设置,则还需要添加该高度:

jQuery('html,body').animate({
  scrollTop: jQuery('#id_a-1-host').offset().top - staticHeaderHeight
}, 'slow');
Run Code Online (Sandbox Code Playgroud)