vuejs如何判断元素是否在可视区域,下面web建站小编给大家详细介绍三种实现这个功能的方法。
//利用以下公式 el.offsetTop - document.documentElement.scrollTop <= viewPortHeight
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);
标签: getBoundingClientRect, offsetTop, scrollTop, 可视区域
上面是“vuejs如何判断元素是否在可视区域(三种方法)”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_2854.html
workflows工作流
- 一只可爱的毛茸茸的猫ComfyUI工作流
- 树上一个快乐的猕猴桃ComfyUI工作流
- 一对葫芦ComfyUI工作流
- 停在音乐节露营地的一辆复古大众巴士由羊毛制成
- 一只放屁虫甲虫ComfyUI工作流
- 在白雪覆盖的广阔平原上两只可爱的小猫
- 一个骷髅海盗船长ComfyUI工作流
- Latent放大comfyui工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!