热点面试题:JS 如何判断一个元素是否在可视区域内?
前言
系列首发于公众号『前端进阶圈』 ,更多精彩内容敬请关注公众号最新消息。
JS 如何判断一个元素是否在可视区域内?
方法一:
offsetTop、scrollTop
方法二:
getBoundingClientRect()
方法三:
Intersection Observer
方法一:offsetTop、scrollTop
复制代码
方法二:getBoundingClientRect
返回值是一个 DOMRect 对象,拥有 left, top, right, bottom, x, y, width, 和 height 属性
复制代码
方法三:Intersection Observer
Intersection Observer 即重叠观察者,从这个命名就可以看出它用于判断两个元素是否重叠,因为不用进行事件的监听,性能方面相比 getBoundingClientRect 会好很多
使用步骤主要分为两步:创建观察者和传入被观察者
复制代码
完整代码
前两种方法
复制代码
第三种方法
复制代码
特殊字符描述:
问题标注
Q:(question)
答案标注
R:(result)
注意事项标准:
A:(attention matters)
详情描述标注:
D:(detail info)
总结标注:
S:(summary)
分析标注:
Ana:(analysis)
提示标注:
T:(tips)
往期推荐:
最后:
版权声明: 本文为 InfoQ 作者【控心つcrazy】的原创文章。
原文链接:【http://xie.infoq.cn/article/88f44fcb886cb025e26047062】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论