vuejs如何判断元素是否在可视区域,下面编程教程网小编给大家详细介绍三种实现这个功能的方法。
方法一:offsetTop、scrollTop
//利用以下公式
el.offsetTop - document.documentElement.scrollTop <= viewPortHeight
方法二:getBoundingClientRect
const target = document.querySelector('.target');
const clientRect = target.getBoundingClientRect();
console.log(clientRect);
方法三:Intersection Observer
const options = {
// 表示重叠面积占被观察者的比例,从 0 - 1 取值,
// 1 表示完全被包含
threshold: 1.0,
root:document.querySelector('#scrollArea') // 必须是目标元素的父级元素
};
const callback = function(entries, observer) {
entries.forEach(entry => {
entry.time; // 触发的时间
entry.rootBounds; // 根元素的位置矩形,这种情况下为视窗位置
entry.boundingClientRect; // 被观察者的位置举行
entry.intersectionRect; // 重叠区域的位置矩形
entry.intersectionRatio; // 重叠区域占被观察者面积的比例(被观察者不是矩形时也按照矩形计算)
entry.target; // 被观察者
});
}
const observer = new IntersectionObserver(callback, options);
以上是编程学习网小编为您介绍的“vuejs如何判断元素是否在可视区域(三种方法)”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
织梦狗教程
本文标题为:vuejs如何判断元素是否在可视区域(三种方法)


基础教程推荐
猜你喜欢
- vue的路由动画切换页面无法读取meta值的bug记录 2023-07-10
- Ajax实现省市县三级联动 2023-02-23
- 在线FLV播放器实现方法 2023-12-20
- 使用three.js实现炫酷的酸性风格3D页面效果 2024-01-25
- springboot中JSONObject遍历并替换部分json值 2024-01-06
- Ajax实现表格中信息不刷新页面进行更新数据 2023-02-22
- Uncaught RangeError: Maximum call stack size exceeded 错误解决方法 2023-07-09
- 微信小程序路由跳转两种方式示例解析 2024-01-06
- 改变状态栏文字的js代码 2023-12-21
- 「HTML+CSS」--自定义加载动画【023】 2023-10-26