问题标签 [offsetheight]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
63 浏览

javascript - 是否可以将 querySelectorAll 与 offsetHeight 一起使用?

我想知道是否可以使用 offsetHeight 获得许多元素的高度

我想在“鼠标悬停”上对 .card__description 高度的 .card__img 进行翻译,是否可以使用 querySelectorAll('.card__description).offsetHeight 并使用循环来获取 offsetHeight?我试过但没用。

0 投票
0 回答
46 浏览

javascript - 移动设备上的 div offsetHeight 行为不同

我正在尝试获取 div 的偏移高度来进行一些计算,我注意到即使在较小的屏幕和手机上,当 div 高度不同时它也总是返回相同的高度,所以我不明白为什么它不返回手机上的身高正确吗?请问有什么帮助吗?

0 投票
2 回答
910 浏览

html - 无法在 Angular 中读取 null 的属性“getBoundingClientRect”

我正在尝试 使用or获取此<div class="bundles-wrap enterprise"元素的像素高度。getBoundingClientRect().heightthis.elementView.nativeElement.offsetHeight

这是我的 HTML:

这是我的组件类:

我试图得到height1, height2,但它说Cannot read property 'getBoundingClientRect' of null in Angular。没有工作。

0 投票
0 回答
28 浏览

javascript - 为什么 .offsetHeight 需要这么长时间才能加载

所以我在 window.onload 监听器中使用 .offsetHeight 读取元素的高度。这意味着 html 元素必须已加载。但是,如果我使用相同的代码而不是使用 window.onload,而是使用具有 100 毫秒等待时间的 setTimeout,则 offsetHeight 是不同的(这似乎是正确的值)。为什么是这样?我显然不想在我的网页上添加不必要的加载时间,有什么解决方法吗?

Ps 即使使用 50 毫秒的等待时间,结果也不一致。

提前致谢。

0 投票
2 回答
158 浏览

javascript - 如何通过 Nuxt 中的哈希平滑滚动到元素?

因此,我的目标是使用 Nuxt.js 创建一个锚链接菜单,该菜单滚动到用户单击的页面部分,现在我有几种不同的方法,但我不确定哪个是“正确的”。

选项1:

我创建了一个菜单,该菜单获取offsetTop部分 div 以了解当用户单击菜单中的链接时滚动多远,但我遇到的问题是 div 的值很少,例如当我推送时会发生offsetHeight变化offsetTop项目到服务器,我不确定是什么原因造成的。结果导致链接滚动到错误的位置并且无法正常工作。

注意:我尝试用价值和问题部分交换位置,之后效果很好,但我仍然需要在问题之上有价值部分。

在这里,我使用 created() 来获取值并将它们设置为 Vuex 状态,并在菜单所在的另一个组件及其所有功能中使用这些值:

我使用 window.scrollTo() 滚动到该部分:

这是本地机器上具有正确值的 div 规范:

这是菜单组件中本地计算机上使用的 scroll() 函数的对象,用于定义滚动的位置以及链接何时处于活动状态以及何时不处于活动状态:

这是 Ubuntu 服务器上的 div 规格,其值已更改:

这是对象的控制台日志,该对象在菜单组件中的服务器上使用 scroll() 函数来定义滚动的位置以及链接何时处于活动状态以及何时不处于活动状态:

它只有一个部分不起作用,其他所有部分都很好。

选项 2:

我尝试使其工作的第二种方法是使用锚链接,当单击菜单中的链接时,我让它滚动到右侧部分,但现在的问题是我需要更改哈希是用户滚动到时的 url一节。我试图用this.$router.push({path: element.hash}). 当用户进入该部分时,url 会发生变化,但问题是每次 $router.push 运行时,滚动体验都会变得非常糟糕,因为它会在用户向下滚动到新部分时尝试回滚到该部分。

现在我在这两者之间跳来跳去,不知道哪一个更适合投资我的时间。