jquery判断元素是否在可视区域范围内

已经有类似的文章了,但是总感觉哪里不对!
所以此文仅作备忘用,如果能帮助你更好的理解就更好了!

目标元素:#item

var item = $('#item');

当页面滚动时,元素随页面滚动,该元素距离顶部的距离

var itemOffsetTop = $("#item").offset().top;

获取item的高度(我的需求需要包含外边距)

var itemOuterHeight = $("#item").outerHeight(true); //这个方法可以传递一个参数true, 如果传递表示需要求出的高度含有外边距, 否则不含有. 具体视需求而定.

获取页面滚动的距离

var winScrollHeight = $(window).scrollTop();

浏览器可见区域的高度:

var winHeight = $(window).height();

那应该如何确定元素在可见区域内呢?

实现代码:

if(!(winScrollTop > sectionThreeOffsetTop+sectionThreeOuterHeight) && !(winScrollTop < sectionThreeOffsetTop-winHeight)) {
                console.log("出现了")
            } else {
                console.log("消失了")
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端开发中,有时需要判断某个元素是否在浏览器的可视区域内,或者是否已经滚动出了可视区域.首先想到的便是JavaSc...
    PengPengPro阅读 4,927评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,277评论 25 709
  • 这是一座自带春天属性,却也有着慵懒节奏的地方。一瞥不足以倾城,一城却足以知春。我和昆明一天的约会。 如果不是再一次...
    Viola__阅读 3,764评论 1 4
  • R便签 我们熬夜,我们废寝忘食,我们牺牲社交休闲的时间,甚至认为和朋友煲个电话粥,看个电视剧都是在浪费生命,...
    大脸猫_Lnn阅读 747评论 0 0