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


Posted in Javascript onDecember 19, 2014

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

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

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 相关文章推荐
IE6/7/8/9不支持exec的简写方式
May 25 Javascript
js打开新窗口方法整理
Feb 17 Javascript
Jquery Ajax xmlhttp请求成功问题
Feb 04 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
Nov 18 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
实用的 vue tags 创建缓存导航的过程实现
Dec 03 Vue.js
JQuery右键菜单插件ContextMenu使用指南
Dec 19 #Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 #Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 #Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
Dec 18 #Javascript
jQuery实现视频作为全屏幕背景
Dec 18 #Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 #Javascript
浅析jQuery EasyUI中的tree使用指南
Dec 18 #Javascript
You might like
php牛逼的面试题分享
2013/01/18 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
php验证手机号码
2015/11/11 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用python操作lmdb对数据读取的实例
2020/12/11 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
计算机专业毕业生的自我评价
2013/11/18 职场文书
剪彩仪式主持词
2014/03/19 职场文书
年度考核自我鉴定
2014/03/19 职场文书
学生安全责任书范本
2014/07/24 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
新人入职感言
2015/07/31 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
win7配置本地ftp服务器的图文教程
2022/08/05 Servers