jquery – 如何检测元素是否已滚出,但只有一次?

前端之家收集整理的这篇文章主要介绍了jquery – 如何检测元素是否已滚出,但只有一次?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图检测一个元素是否已滚出并完成以下代码
$(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');
    }
});

猜你在找的jQuery相关文章