JS获取各种宽度、高度的简单介绍

 更新时间:2014年12月19日 15:34:07   投稿:hebedich  
这篇文章主要介绍了JS获取各种宽度、高度的简单介绍的相关资料,需要的朋友可以参考下

有时候项目中会用到用js获取元素位置来定位元素,首先通过图片说明scrollWidth,clientWidth,offsetWidth的关系。

JS获取各种宽度、高度的简单介绍

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 相对文档的水平座标+垂直方向滚动的量

以上主要指IE之中,FireFox差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border

IE5.0/5.5:

clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

offsetWidth (width+padding+border)

假设 obj 为某个 HTML 控件。

obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。

obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。

obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。获取对象可见内容的宽度,不包括滚动条,不包括边框;

obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。

offsetWidth 与 style.width 的区别

一、offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。

二、offsetTop 只读,而 style.top 可读写。

三、如果没有给 HTML 元素指定过 top 样式,则 style.top 返回的是空字符串。

相关文章

  • javascript的构造函数, 原型,原型链和new你了解多少

    javascript的构造函数, 原型,原型链和new你了解多少

    这篇文章主要为大家详细介绍了javascript的构造函数, 原型,原型链和new,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Javascript操作dom对象之select全面解析

    Javascript操作dom对象之select全面解析

    下面小编就为大家带来一篇Javascript操作dom对象之select全面解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • javaScript NameSpace 简单说明介绍

    javaScript NameSpace 简单说明介绍

    命名空间,一看就知道主要目的是为了避免冲突。下面就来说一下如何打造自己的JavaScript命名空间。
    2013-07-07
  • asm.js使用示例代码

    asm.js使用示例代码

    asm.js是一个底层、格外为 JavaScript 子集优化的编译器。这是 Mozilla 研究项目,类似 Emscripten, Mandreel, 和 LLJS,这个示例让我们简单学习一下asm.js的使用
    2013-11-11
  • JS中Map和ForEach的区别

    JS中Map和ForEach的区别

    本篇文章给大家详细分析了JS中Map和ForEach的区别以及用法上的不同之处,对此有兴趣的朋友参考学习下吧。
    2018-02-02
  • js中的鼠标事件有哪些(用法示例学习进阶)

    js中的鼠标事件有哪些(用法示例学习进阶)

    在JavaScript中,鼠标事件是 Web 开发中最常用的事件类型。鼠标点击事件包括 4 个:click(单击)、dblclick(双击)、mousedown(按下)和 mouseup(松开)。其中 click 事件类型比较常用,而 mousedown和mouseup事件类型多用在鼠标拖放、拉伸操作中。
    2023-02-02
  • THREE.JS入门教程(4)创建粒子系统

    THREE.JS入门教程(4)创建粒子系统

    Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D本文将介绍创建一个粒子系统/风格/引入物理等等,感兴趣的朋友可以了解下哦,希望本文对你有所帮助
    2013-01-01
  • javascript中对Date类型的常用操作小结

    javascript中对Date类型的常用操作小结

    下面小编就为大家带来一篇javascript中对Date类型的常用操作小结。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 实例讲解JS中数组Array的操作方法

    实例讲解JS中数组Array的操作方法

    这篇文章主要介绍了JS中数组Array的操作方法,并用代码实例讲解,需要的朋友可以参考下
    2014-05-05

最新评论