Javascript 达到特定滚动距离时触发事件jQuery

Javascript 达到特定滚动距离时触发事件jQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个基于vh的网站,当某个vh被滚动时,我想显示一些元素。我尝试使用带有滚动距离变量的if语句,但它不会不断更新,因此无法工作: var distancePX = $(window).scrollTop(); var windowHeight = $(window).height(); var distanceVH = scroll/height * 100; if (distance >= 170) { //ACTIONS }; 我可以使用什么来制作上述内容的不断更新版本?

我有一个基于vh的网站,当某个vh被滚动时,我想显示一些元素。我尝试使用带有滚动距离变量的if语句,但它不会不断更新,因此无法工作:

var distancePX = $(window).scrollTop();
var windowHeight = $(window).height();
var distanceVH = scroll/height * 100;
if (distance >= 170) {
    //ACTIONS
};

我可以使用什么来制作上述内容的不断更新版本?

使用纯JS,您可以使用
onscroll
事件并将其绑定到主体。下面是一个例子:

var distancePX = $(window).scrollTop();
var windowHeight = $(window).height();
var distanceVH = scroll/height * 100;

$("body").scroll(function(){
  if (distance >= 170) {
    //ACTIONS
  }
});
HTML

如果您喜欢非标记解决方案,还可以使用jQuery的
scroll()
方法。使用此方法,只需将if语句放入
scroll()
函数中即可。下面是一个例子:

var distancePX = $(window).scrollTop();
var windowHeight = $(window).height();
var distanceVH = scroll/height * 100;

$("body").scroll(function(){
  if (distance >= 170) {
    //ACTIONS
  }
});
希望这有帮助

Jquery代码

$(window).scroll(function(){
            if ($(this).scrollTop() >= 170) {
                //actions...
            } else {
                //actions...
            }
        });

您可以在此处看到一些示例:,或
$(window).scroll(function(){
            if ($(this).scrollTop() >= 170) {
                //actions...
            } else {
                //actions...
            }
        });