滚动到父元素时调用函数

Call a function when scrolled to parent element

本文关键字:调用 函数 元素 滚动      更新时间:2023-09-26

我有一个显示动画的画布元素,我想在画布元素滚动到时调用函数"play()"。将函数调用封装在 $(window).on('scroll') 事件处理程序中,这样每当我的滚动条位于元素下方时,它就会一遍又一遍地调用该函数。我只希望在滚动条达到某个阈值后调用此函数一次。

所以理想情况下,它类似于:

$(window).on('scroll', function(){
    var top_of_element = $('canvas').offset().top;
    var scrollPos = $(window).scrollTop();
    if (scrollPos > top_of_element) {
        play();
        break; <--cancel function
}
});

正如 Jonathan 在这个问题上所说,没有内置的方法可以做到这一点,但您可以使用布尔变量跟踪画布的可见性状态。只需在相应的滚动位置设置并检查它,您应该很好。