问题:
如何确定特定元素是否例如类为“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中文网其他相关文章!