如何检测元素是否已滚动但仅滚动一次?

2024-04-22

我正在尝试检测某个元素是否已滚出并完成了以下代码

$(window).bind('scroll', function(){
    var $btn = $('#intro div.summary a[href=#top]');
    if($(window).scrollTop() > ($btn.offset().top+$btn.height())){
        console.log('out');
    }
});

我在一些正文文本中有一个锚点,我希望在 div.intro 滚动出来后克隆并制作固定的导航。

我的问题是,一旦元素离开视图,代码就会触发,但会继续触发。所以我不能再做任何事情了,因为更多的事情都会继续发生。

有没有一种方法可以在输出后“输出”,在输入后“输入”?除了设置一个变量之外。


仅执行一次您可以执行的事件

$(window).one('scroll', function(){
    var $btn = $('#intro div.summary a[href=#top]');
    if($(window).scrollTop() > ($btn.offset().top+$btn.height())) {
        console.log('out');
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测元素是否已滚动但仅滚动一次? 的相关文章

随机推荐