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 相关文章推荐
判断客户浏览器是否支持cookie的示例代码
Dec 23 Javascript
js读取配置文件自写
Feb 11 Javascript
讲解JavaScript中for...in语句的使用方法
Jun 03 Javascript
基于jquery实现人物头像跟随鼠标转动
Aug 23 Javascript
JavaScript使用Range调色及透明度实例
Sep 25 Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
分析javascript原型及原型链
Mar 18 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
ES6 Object属性新的写法实例小结
Jun 25 Javascript
vue父子模板传值问题解决方法案例分析
Feb 26 Javascript
JS sort排序详细使用方法示例解析
Sep 27 Javascript
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生成HTML文件的类方法
2019/10/11 PHP
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中的下划线详解
2015/06/24 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
python+django快速实现文件上传
2016/10/24 Python
使用python生成目录树
2018/03/29 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Pytorch中.new()的作用详解
2020/02/18 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
大四自我鉴定
2014/02/08 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
2015年新学期寄语
2015/02/26 职场文书
教师求职自荐信范文
2015/03/04 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
节约用电通知
2015/04/25 职场文书
总结python多进程multiprocessing的相关知识
2021/06/29 Python