Javascript show函数将执行多少次?

Javascript show函数将执行多少次?,javascript,jquery,Javascript,Jquery,我注意到当我滚动一次时,它会打印很多次。这是否意味着显示功能执行的次数与打印次数相同 $(function () { $(window).scroll(function () { if ($(this).scrollTop() >= 1000) { $(".goTop").show(); console.log("hello"); } }); })) Yes show将在console

我注意到当我滚动一次时,它会打印很多次。这是否意味着显示功能执行的次数与打印次数相同

 $(function () {
    $(window).scroll(function () {
        if ($(this).scrollTop() >= 1000) {
            $(".goTop").show();  
            console.log("hello");
        } 
    });

}))

Yes show将在console.log完成时被多次调用。如果您可以有一个以上的条件,您可以在其中检查
$(“.goTop”)
,则显示在该条件中(display属性不应为none)或者没有。

我认为每当滚动超过1000并且用户开始滚动时,就会发生此功能,因此您必须检查如果scrollTop超过1000并且goTop元素被隐藏,则会发生一次。

是的,每次滚动时都会运行show,滚动事件会发出。这就是函数被多次调用的原因。似乎是XY问题。非常确定您已经知道所有的代码都在运行(为什么不呢?)。你到底在问什么?它“执行”.show()有什么问题?看起来您正在询问如何对滚动事件进行
debounce
。滚动事件由浏览器在用户滚动时触发,而不是在用户开始滚动时触发。因此,当用户滚动时触发此事件,这就是我所说的。我的重点显示-您声明“用户开始滚动此功能发生”-表示仅在用户开始滚动时触发一次。它在用户滚动时继续启动,而不是在开始时启动一次。也许你是那个意思,但那不是你说的。