首页 > 教程
JQUERY判断一个元素是否在可视区域中
- 2024-03-20
- 1345 ℃
基本概念:
offsetTop指元素的上外边框至包含元素的上内边框之间的像素距离,其他方向相同
offsetWidth指元素两端算上外边框的宽度,其他方向相同
scrollLeft 和 scrollTop既可以确定当前元素的滚动状态,也可以设置元素的滚动位置
scrollWidth 和 scrollHeight确定元素内容的实际大小
clientWidth元素内容区宽度加上左右内边距宽度,即clientWidth = content + padding
clientHeight元素内容区高度加上上下内边距高度,即clientHeight = content + padding

在日常开发中,我们经常需要判断目标元素是否在可视窗口内,从而实现一些常用的功能,如果一个元素在视窗内,那么它一定满足下面四个条件:
top <= 0;
left <= 0;
bottom <= 视窗高度;
right <= 视窗高度。

isInViePortOfTwo判断元素是否在可视区域内:
function isInViePortOfTwo(el){
const viewPortHeight = window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight
const viewPortWidth = window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth
const {top,right,bottom,left} = el.getBoundingClientRect();
return top>=0 && left>=0 && bottom<=viewPortHeight && right<=viewPortWidth
}页面滚动时添加监听事件:
$(window).on("scroll",()=>{
$targets.each((index,element)=>{
if(isInViewPort(element)){
console.log('元素在页面可视区域内');
}else{
console.log('元素不在页面可视区域内');
}
})
})相关内容
微信文件传输助手不够用...
微信转发语音,朋友圈发...
微信拍照模糊调用手机相...
微信支付钱给错了怎么办?
24年强开花呗教程
Astro 添加 Waline 评论组件
网站快照被劫持跳转另一...
网站访问量和服务器带宽...
-
免费搭建最强网文神器网页版!完爆任何小说APP
2025-04-27 928
-
php提高性能的几个小技巧
2021-04-13 700
-
最全ComfyUI资源整合:教程、插件、工作流(可免费体验)
2025-03-04 1523
-
最安全的PHP密码加密方法
2025-04-07 1251
-
php批量去除文件bom代码
2024-03-16 981
-
人人都是增长黑客
2024-05-29 1361
-
JS压缩图片并保留图片元信息
2025-04-07 972
-
电脑必装软件有哪些?请一定别错过这五款
2025-04-26 954
-
PHP保存下载远程文件或图片到本地
2025-04-07 1054
-
什么是闰秒?这个困扰我50年的问题终于要被解决了?
2024-05-10 1518
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


进入有缘空间
点击分享文章