首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法可以知道一个元素何时通过另一个元素?

是否有一种方法可以知道一个元素何时通过另一个元素?
EN

Stack Overflow用户
提问于 2016-12-09 00:56:54
回答 1查看 85关注 0票数 1

我有一个粘性元素,当它经过另一个元素时需要识别,这样才能从屏幕上消失。

这是应该消失的元素:

代码语言:javascript
复制
.sticky-footer
    .container
        .row.sticky-row
            .col-xs-6
                // text
            .col-xs-6
                // text

当用户向下滚动并通过以下元素时:

代码语言:javascript
复制
hr#line-before-related-article

有什么方法可以用css或jQuery来实现吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-09 02:02:12

您可以在每次页面滚动时听到触发的事件,然后检查它的位置是否超过您的hr#行之前的相关文章。

下面是一个例子:

代码语言:javascript
复制
$(window).on('scroll', function() {

    if ($(this).scrollTop() + $(this).height() >= $('#line-before-related-article').position().top) {

        $('.sticky-footer').hide();

    } else if ($('#line-before-related-article').position().top >= $(this).scrollTop()) {

        $('.sticky-footer').show();
    }
})

如果你想要一些更有表现力的东西,你可以用一种叫做“退欧”的函数.

对于那些不知道退出函数会做什么的人来说,它限制了函数的触发速率。一个快速的例子:窗口上有一个调整大小的监听器,它执行一些元素维度计算,(可能的话)重新定位几个元素。这本身并不是一项繁重的任务,但在多次调整后被反复解雇会使您的站点慢下来。为什么不限制函数的启动速度呢?

这里有更多的信息:https://davidwalsh.name/javascript-debounce-function

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41051440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档