如何在 .scrolltop 函数中使用 vh 单位而不是像素

Anf*_*a A 7 jquery scroll

我有一个菜单栏,我想在用户滚动到下一个 div 后更改其类别,该 div 高 100vh。下面的功能仅适用于我的尺寸的屏幕,任何更小或更大的动画都会过早或过晚出现。

如何制作此函数使用的单位 vh?谢谢

  $(window).scroll(function() {    
var scroll = $(window).scrollTop();
if (scroll >= 600) {   <---- change to vh units not px-----
    $(".home").removeClass("open");
}
Run Code Online (Sandbox Code Playgroud)

小智 5

使用window.innerHeight它并乘以分数。例如,如果您想要 60 vh,请使用(window.innerHeight)*0.6.

我不熟悉 jQuery,但使用 vanillaJS 就可以了

if (window.pageYOffset > window.innerHeight)
Run Code Online (Sandbox Code Playgroud)


小智 -1

100vh 是该屏幕的实际视图高度。因此,当您使用不同尺寸的屏幕时,100vh 将被计算为不同的尺寸。

  • 我知道并且我猜 Anfa A 也知道这一点,所以我们正在寻找如何在脚本中使用 vh 单位的答案,但是屏幕大小是......我希望当第一部分通过滚动传递时调整我的标题大小由于我的第一个部分高度是 100vh,我不知道如何以不同的方式调整大小。 (3认同)