首页 > 教程
JQUERY判断一个元素是否在可视区域中
- 2024-03-20
- 1500 ℃
基本概念:
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('元素不在页面可视区域内');
}
})
})相关内容
鼠标点击波纹特效 html+css+js
php提高性能的几个小技巧
微软超逼真的、带神经网...
微信好友描述功能比备注...
知乎热榜API、百度热点AP...
医患纠纷案例解析与防范要点
如何去除上网冲浪的广告
推荐39个让你效率提高200...
-
边充电边玩手机会伤电池吗?
2025-07-03 1502
-
知网文献免费下载、论文免费查重和去重的方法
2025-03-10 1415
-
瞬间无损截取合并视频的方法!终于能一秒收藏视频片段
2025-04-27 1241
-
splice变相跳出forEach循环
2025-04-07 1149
-
Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的兼容问题
2025-04-07 1735
-
NodeJs文本相似度去重脚本
2025-04-07 1235
-
fastadmin微信扫码登录网页登录
2021-06-01 1999
-
微信消费者保护安全锁,余额保密
2025-06-22 1222
-
微信免费听歌,畅享 QQ 音乐
2025-06-22 1255
-
将浏览器窗口变成简单的文本编辑器
2021-10-27 727
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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