首页 >web前端 >js教程 >如何在 JavaScript 中滚动到有界 Div 内的元素?

如何在 JavaScript 中滚动到有界 Div 内的元素?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 08:39:30995浏览

How to Scroll to Elements Within Bounded Divs in JavaScript?

滚动到有界 Div 内的元素

在 Web 开发中,在页面上的元素内滚动对于用户体验至关重要。开发人员面临的一个常见问题是滚动到滚动 div 中的元素。

问题:

用户想要单击滚动 div 中的元素并自动获得它滚动查看。但是,使用以下 JavaScript 方法:

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

导致整个页面滚动,包括 div 本身。这种行为是不可取的。

解决方案:

要仅滚动 div 查看目标元素,需要计算该元素相对于其顶部的偏移量父级(滚动的 div 容器)。

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

变量 topPos 现在包含滚动 div 的顶部与目标元素之间的距离。

要将 div 滚动到该位置,使用scrollTop:

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

原型框架:

如果使用Prototype JS框架,可以使用以下代码:

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

此方法将滚动 div,使目标元素恰好位于顶部,或尽可能向下滚动以在 div 中可见。

以上是如何在 JavaScript 中滚动到有界 Div 内的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn