当前位置: 首页 > 面试题库 >

如何滚动到div中的元素?

柴磊
2023-03-14
问题内容

我有一个滚动条div,当我单击它时我想要一个链接,它将迫使div其滚动以查看其中的元素。我这样写它的JavasSript:

document.getElementById(chr).scrollIntoView(true);

但这会在滚动页面的同时滚动所有页面div。如何解决?

我想这样说

MyContainerDiv.getElementById(chr).scrollIntoView(true);

问题答案:

您需要获取要滚动到视图中的元素相对于其父元素(滚动div容器)的顶部偏移量:

var myElement = document.getElementById('element_within_div');
var topPos = myElement.offsetTop;

现在,将变量topPos设置为滚动div的顶部与希望显示的元素之间的距离(以像素为单位)。

现在,我们告诉div使用scrollTop以下命令滚动到该位置:

document.getElementById('scrolling_div').scrollTop = topPos;

如果您使用原型JS框架,则将执行以下操作:

var posArray = $('element_within_div').positionedOffset();
$('scrolling_div').scrollTop = posArray[1];

再次,这将滚动div,以便您希望看到的元素恰好在顶部(或者,如果不可能的话,请尽可能向下滚动以使其可见)。



 类似资料:
  • 我正忙着建立一个页面,在那里,比赛的计分室将能够看到现场结果,因为评委们会为每个参赛作品打分。 除此之外(每10秒检查一次更新),还有一个功能可以检查舞台上的当前条目(用绿色标记),这将滚动计分室的块,以始终在页面顶部显示当前条目。 然而,这创造了一个无休止的循环上下滚动的整个时间。 初始滚动工作正常,但由于当前项的位置已更改,jQuery再次向下滚动,使该项现在处于新的偏移量。 我的代码当前如下

  • 问题内容: 我有一个聊天小部件,每次向上滚动时,它都会拉出一系列消息。我现在面临的问题是加载消息时滑块固定在顶部。我希望它专注于上一个数组中的最后一个索引元素。我发现可以通过传递索引来创建动态引用,但是我还需要知道使用哪种滚动功能来实现这一点 问题答案: 单击此处,获得有关StackBlits的完整演示 React 16.3 +,Class组件 类组件-Ref回调 不要使用字符串引用。 字符串引用

  • 问题内容: 滚动到该位置后如何使它固定?我在页面的后面有一个,您需要滚动到那个页面。 如果我使用: 在出现之前就应该正常显示。我需要的一个很好的例子是9gag上的第二个广告。如果屏幕分辨率足够低,则在加载首页后您将看不到该广告,但是向下滚动后,您会看到第二个广告,并且在向下滚动时它将保持固定。 问题答案: 我知道这仅被标记为html / css,但是您不能仅使用css来做到这一点。最简单的方法是使

  • 问题内容: 我正在制作一个FAQ页面,顶部有一些按钮可以跳转到一个类别(它跳转到我用作类别标签的标签,例如,用于我的常规类别)。我想添加一个滚动效果,而不仅仅是跳到该类别。我想要类似http://www.dynamicdrive.com/dynamicindex3/scrolltop.htm的内容,该内容可以滚动到页面的所需部分。该链接是一个脚本,该脚本转到页面顶部,具有良好的滚动效果。我需要类似

  • 我正在使用AngularJS开发一个小型web应用程序,遇到了一个问题。我正在使用填充div内部的列表。div有一个固定的高度,并设置为,这意味着当列表对于div来说太大时会出现一个滚动条。我的问题是,当重新绘制列表时,即支持ng repeat的数据会发生变化,滚动条不会重置为div的顶部。相反,它会保持在ng repeat更改之前滚动条所在的任何位置。这是一个非常糟糕的用户体验。我尝试了以下方法

  • 问题内容: 我正在使用Ajax请求创建聊天,并且试图使消息div滚动到底部没有太多运气。 我将所有内容包装在这个div中: 有没有一种方法可以使用JS将其默认滚动到底部? 有没有一种方法可以在ajax请求后将其滚动到底部? 问题答案: 这是我在网站上使用的内容: