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知识点详解

    javascript知识点详解

    下面小编就为大家带来一篇JavaScript基础知识点归纳(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • EsLint入门学习教程

    EsLint入门学习教程

    ESLint是一个代码规范和错误检查工具,下面这篇文章主要介绍了EsLint的相关资料,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • 前端面试知识点目录一览

    前端面试知识点目录一览

    本文是小编给大家搜集整理的有关前端面试知识点,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-04-04
  • JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型

    JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型

    数据类型是编程语言的砖瓦,是所有你能想象到的复杂抽象的基础,在现代编程语言中,除了语言本身内置的一些简单数据类型外,基本上都提供了用于自定义数据类型的语言机制(在C中也可以利用结构体来实现),这些机制在一定程度上也决定了该语言的流行度和生命力
    2012-10-10
  • JavaScript在XHTML中的用法详解

    JavaScript在XHTML中的用法详解

    下面的代码在HTML中是有效的,但在XHTML中则是无效的接下来为大家介绍下JavaScript在XHTML中的用法,感兴趣的朋友可以参考下哈
    2013-04-04
  • js创建jsonArray传输至后台及后台全面解析

    js创建jsonArray传输至后台及后台全面解析

    下面小编就为大家带来一篇js创建jsonArray传输至后台及后台全面解析。小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-04-04
  • JavaScript中匿名、命名函数的性能测试

    JavaScript中匿名、命名函数的性能测试

    这篇文章主要介绍了JavaScript中匿名、命名函数的性能测试,简单来讲匿名即没有名字的函数,它和命名函数相比性能如何呢,本文即是对它们性能的测试,需要的朋友可以参考下
    2014-09-09
  • js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件

    js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件

    嵌套的div元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,下面介绍一下js阻止默认事件与js阻止事件冒泡示例,大家参考使用吧
    2014-01-01
  • Knockout text绑定DOM的使用方法

    Knockout text绑定DOM的使用方法

    本文讲解Knockout text绑定到DOM元素上,使得该元素显示的文本值为你绑定的参数。该绑定在显示<span>或者<em>上非常有用,可以用在任何元素上
    2013-11-11

最新评论