首页 >web前端 >js教程 >## 如何使用 jQuery 检查元素在视口中是否可见?

## 如何使用 jQuery 检查元素在视口中是否可见?

Patricia Arquette
Patricia Arquette原创
2024-10-25 06:29:291073浏览

## How to Check if an Element is Visible in the Viewport Using jQuery?

使用 jQuery 检测视口中元素的可见性

问题:

如何确定特定元素是否例如类为“media”的元素是否在当前浏览器视口内?

答案:

确定某个元素在视口内是否可见,无论对于滚动位置,您可以使用如下所示的 jQuery 函数:

<code class="js">$.fn.isInViewport = function() {
    var elementTop = $(this).offset().top;
    var elementBottom = elementTop + $(this).outerHeight();

    var viewportTop = $(window).scrollTop();
    var viewportBottom = viewportTop + $(window).height();

    return elementBottom > viewportTop && elementTop < viewportBottom;
};</code>

此函数将元素的顶部和底部位置与视口的位置进行比较。如果元素的底部位置低于视口顶部并且其顶部位置高于视口底部,则该元素被视为可见。

要监视由于滚动或调整大小而导致的可见性变化,可以使用以下事件处理程序:

<code class="js">$(window).on('resize scroll', function() {
    if ($('#Something').isInViewport()) {
        // Perform actions for visible elements
    } else {
        // Perform actions for non-visible elements
    }
});</code>

请注意,此函数仅检查元素的垂直视口状态;它不会验证它是否水平延伸超出视口。

以上是## 如何使用 jQuery 检查元素在视口中是否可见?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn