js及jquery获取页面和元素的宽高

本文详细介绍了使用JavaScript和jQuery获取网页尺寸及元素定位的方法,包括可见区域尺寸、滚动位置、屏幕分辨率等,并提供了精确控制元素位置的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js:

网页可见区域宽: document.body.clientWidth;(不含滚动条)
网页可见区域高: document.body.clientHeight;(不含滚动条)
网页可见区域宽: document.body.offsetWidth;(包括边线的宽); 
网页可见区域高: document.body.offsetHeight;(包括边线的宽);
网页正文全文宽: document.body.scrollWidth; 
网页正文全文高: document.body.scrollHeight;
网页被卷去的高(ff):document.body.scrollTop; 
网页被卷去的高(ie): document.documentElement.scrollTop;
网页被卷去的左: document.body.scrollLeft;
网页正文部分上: window.screenTop; 
网页正文部分左: window.screenLeft;
某个元素的宽度: obj.offsetWidth;
某个元素的高度: obj.offsetHeight;
某个元素的上边界到body最顶部的距离: obj.offsetTop;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离: obj.offsetLeft;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量: obj.offsetTop;(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量: obj.offsetLeft;(在元素的包含元素含滚动条的情况下)

屏幕分辨率的高: window.screen.height 
屏幕分辨率的宽: window.screen.width 
屏幕可用工作区高度: window.screen.availHeight 
屏幕可用工作区宽度: window.screen.availWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 
scrollHeight: 获取对象的滚动高度。 
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 
scrollWidth:获取对象的滚动宽度 
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 
event.clientX 相对文档的水平座标 
event.clientY 相对文档的垂直座标 
event.offsetX 相对容器的水平坐标 
event.offsetY 相对容器的垂直坐标 
document.documentElement.scrollTop 垂直方向滚动的值 
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

jquery:

获取浏览器显示区域(可视区域)的高度 :  $(window).height();   
获取浏览器显示区域(可视区域)的宽度 :  $(window).width();   
获取页面的文档高度:$(document).height();   
获取页面的文档宽度 :$(document).width(); 
浏览器当前窗口文档body的高度: $(document.body).height();
浏览器当前窗口文档body的宽度: $(document.body).width();
获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)  :$(document).scrollTop();   
获取滚动条到左边的垂直宽度 :$(document).scrollLeft(); 
获取或设置元素的宽度:$(obj).width();
获取或设置元素的高度:$(obj).height();

获取或设置元素的宽度:$(obj).innerWidth(); (height + padding)
获取或设置元素的高度:$(obj).innerHeight(); (height + padding)

获取或设置元素的宽度:$(obj).outerWidth(); (height + padding + border)
获取或设置元素的高度:$(obj).outerHeight(); (height + padding + border)

获取或设置元素的宽度:$(obj).outerWidth(true); (height + padding + border + margin)
获取或设置元素的高度:$(obj).outerHeight(true); (height + padding + border + margin)
某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)

### 使用 jQuery 获取元素滚动度、总度以及视窗度 #### 元素滚动度 `scrollHeight` 可以通过原生 JavaScript 的方式获取元素的滚动度,也可以通过 jQuery 来实现。`scrollHeight` 表示的是一个元素内部所有内容的度,即使这些内容超出了可视范围[^3]。 ```javascript var elementScrollHeight = $("#elementId")[0].scrollHeight; console.log("Element Scroll Height:", elementScrollHeight); ``` 如果需要兼容性更好的写法,可以使用 `.prop()` 方法: ```javascript var elementScrollHeight = $("#elementId").prop("scrollHeight"); console.log("Element Scroll Height via prop():", elementScrollHeight); ``` --- #### 页面度 `height` 页面的总度通常指的是整个文档的度,包括未被卷起的部分。这可以通过 jQuery 或者原生 DOM 属性来获取[^2]。 ```javascript // 使用 jQuery 获取文档总度 var documentTotalHeight = $(document).height(); console.log("Document Total Height:", documentTotalHeight); // 原生方法作为对比 var nativeDocumentHeight = document.documentElement.scrollHeight; console.log("Native Document Scroll Height:", nativeDocumentHeight); ``` 需要注意的是,在某些情况下,`$(document).height()` `document.documentElement.scrollHeight` 可能会返回不同的值,具体取决于浏览器的行为 CSS 设置[^1]。 --- #### 视窗度 `innerHeight` 视窗度是指当前浏览器窗口中可见部分的度,不包括被隐藏的内容。这个值可以用 jQuery 或纯 JavaScript 轻松获得[^5]。 ```javascript // 使用 jQuery 获取视窗度 var viewportHeight = $(window).height(); console.log("Viewport Height with jQuery:", viewportHeight); // 使用原生 JavaScript 获取视窗度 var nativeInnerHeight = window.innerHeight; console.log("Native Window Inner Height:", nativeInnerHeight); ``` 在大多数现代浏览器中,`$(window).height()` `window.innerHeight` 返回的结果是一致的,但在一些特殊场景下可能会有所不同,比如存在滚动条的情况下。 --- ### 综合代码示例 以下是一个综合的例子,展示如何同时获取上述三种度: ```javascript $(function() { // 获取指定元素的滚动度 var elementScrollHeight = $("#exampleElement").prop("scrollHeight"); // 获取文档的总度 var documentTotalHeight = $(document).height(); // 获取视窗度 var viewportHeight = $(window).height(); console.log("Element Scroll Height:", elementScrollHeight); console.log("Document Total Height:", documentTotalHeight); console.log("Viewport Height:", viewportHeight); }); ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值