美文网首页
如何判断一个元素出现在用户的视野

如何判断一个元素出现在用户的视野

作者: 缺月楼 | 来源:发表于2019-05-14 12:20 被阅读0次

我们先看一下下面的一些元素高度的一些方法

$(window).height(); //用于获取浏览器显示区域的高度
$(window).width();//用于获取浏览器显示区域的宽度
$(document.body).height();//获取页面文档的高度
$(document.body).width();//获取页面文档的宽度
$(document).scrollTop();//获取垂直滚动条到顶部的垂直距离
$(document).scrollLeft(); //获取水平滚动条到左边的水平距离
原生js获取文档的所在的位置
document.querySelector('XXX').offsetTop // 顶部

如何判断元素出现在可视范围呢?

  • 页面很长,无法全部显示在浏览器页面,或者某个元素容器内
  • 用户通过滚动界面来看到隐藏界面的内容

我门就可以通过计算来判断元素是否出现在用户视野中

我们进行计算需要有三个值.

  • 浏览器的高度 / 或者某个元素容器的高度
  • 用户滚动的距离
  • 元素在页面中的位置

下面看一下 jQuery 判断元素的一些方式

  • 浏览器的高度 / 或者某个元素容器的高度:$(window).height()
  • 用户滚动的距离:$(window).scrollTop()
  • 元素在页面中的位置:$('元素').offset().top
    下图比较生动 :
    窗口操作 示意图

示意代码 如下 :

$('元素').offset().top <= $(window).height() + $(window).scrollTop()

当元素在页面中的位置小于浏览器高度或者元素容器高度和用户滚动的高度时,可以得到元素出现在用户视野 ,那么现在 就可以进行下一步操作了,比如图片懒加载,及瀑布流布局,皆是利用此原理!

如何判断浏览器滚动到最底部

和上面的原理类似

  • 页面的高度 $('body').height();
  • 用户滚动的距离 $(window).scrollTop()
  • 浏览器的高度 $(window).height()
  • 当浏览器的高度 + 用户滚动的距离 = 页面的高度 我们可以判断浏览器滚动到最低部了
    代码如下 :
if($(window).height() + $(window).scrollTop() = $('body').height()) {
      console.log('到达浏览器底部')
}

相关文章

  • 如何判断元素出现在用户视野

    $(window).height(); //用于获取浏览器显示区域的高度$(window).width();//用...

  • 如何判断元素出现在用户视野

    判断元素出现在用户视野中,主要是看下面三个属性值1、窗口顶端到整个页面顶端的滚动距离: 2、元素距离页面内容的高度...

  • 判断元素出现在用户视野

    基础知识 屏幕可视窗口宽高 整个网页宽高 整个个网页的上方或者左边被卷起来的部分 元素的尺寸和位置 获取当前页面滚...

  • 判断元素出现在用户视野

    判断元素出现在用户视野中,主要是看下面三个属性值 1、窗口顶端到整个页面顶端的滚动距离: 2、元素距离页面内容的高...

  • 如何判断一个元素出现在用户的视野

    我们先看一下下面的一些元素高度的一些方法 $(window).height(); //用于获取浏览器显示区域的高度...

  • 懒加载

    如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。 当窗口滚动时,判断一个元素是不是...

  • 懒加载+木桶布局

    如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。 当窗口滚动时,判断一个元素是不是...

  • 懒加载

    如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。 当窗口滚动时,判断一个元素是不是...

  • 28.懒加载

    1.如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视) 2.当窗口滚动时,判断一个元素...

  • 懒加载

    1. 写一个函数isVisible判断一个元素时否出现在窗口可视范围 2. 当窗口滚动时,判断一个元素是不是出现在...

网友评论

      本文标题:如何判断一个元素出现在用户的视野

      本文链接:https://www.haomeiwen.com/subject/xfxsaqtx.html