javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js中offsetWidth、clientWidth、scrollWidth

JavaScript中的offsetWidth、clientWidth、scrollWidth等一系列属性详解

作者:小前端大牛马

在JavaScript编程中,offsetWidth是一种用于获取元素宽度的属性,下面这篇文章主要介绍了JavaScript中的offsetWidth、clientWidth、scrollWidth等一系列属性的相关资料,需要的朋友可以参考下

1. clientWidth 和 clientHeight(静态(只读))

定义

clientWidth 和 clientHeight 是元素的 可视区域宽度 和 高度,包括元素的内边距(padding),但 不包括边框、滚动条

clientWidth = contentWidth + padding-left + padding-right
clientHeight = contentHeight + padding-top + padding-bottom

2. scrollWidth 和 scrollHeight(静态(只读))

定义

scrollWidth 和 scrollHeight 是元素内容的 实际宽度 和 高度,即使内容被截断,也会返回完整内容的尺寸。

scrollWidth = 内容的实际宽度(包括溢出部分)
scrollHeight = 内容的实际高度(包括溢出部分)

应用场景

3. offsetWidth 和 offsetHeight(静态(只读))

定义

offsetWidth 和 offsetHeight 是元素的 总宽度 和 总高度,包括边框、内边距以及滚动条。 

offsetWidth = clientWidth + border-left + border-right + 水平滚动条宽度(如果存在)
offsetHeight = clientHeight + border-top + border-bottom + 垂直滚动条高度(如果存在)

应用场景

4.scrollTop、scrollLef

定义

<div id="container" style="height: 200px; overflow: auto;">
  <!-- 内容高度为 500px -->
</div>
//当滚动到中间时,container.scrollTop ≈ 150px。
//当滚动到底部时,container.scrollTop = container.scrollHeight - container.clientHeight。

5.offsetTop 和 offsetLeft

定义

div {
  position: relative;
  margin-top: 20px;
  padding: 10px;
  border: 5px solid black;
}
//offsetTop = 20px(仅包含 margin-top)。
//元素内容区域的顶部距离包含块顶部的总距离为:
//offsetTop(20px) + border-top(5px) + padding-top(10px) = 35px。

计算方式

7. clientTop 和 clientLeft

定义

计算方式

8. event.clientX、event.clientY、event.pageX、event.pageY 

1. 定义与区别

clientX 和 clientY

pageX 和 pageY

 9.于 innerWidth 、 innerHeight

定义

所属对象

这些属性属于 window 对象,且为只读属性。

计算方式

示例

假设浏览器窗口尺寸为:

则:

console.log(window.innerWidth); // 1200  
console.log(window.innerHeight); // 650  

 与 outerWidth 和 outerHeight 的区别

10.el.style.left  

el.style.left 是 JavaScript 中用于 设置或获取元素 left 样式属性 的属性。

使用条件

left 属性 仅对以下定位模式的元素生效

若元素的 position 为 static(默认值),则 left 属性无效。

// 将元素左侧定位到距离包含块左侧 100px 的位置
el.style.left = "100px"; 

// 使用百分比(例如:左侧距离包含块的 50%)
el.style.left = "50%";

总结 

到此这篇关于JavaScript中的offsetWidth、clientWidth、scrollWidth等一系列属性详解的文章就介绍到这了,更多相关js中offsetWidth、clientWidth、scrollWidth内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文