scrollWidth,clientWidth,offsetWidth的区别
scrollWidth,clientWidth,offsetWidth的区别
scrollWidth,clientWidth,offsetWidth的区别有时候项目中会用到用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 返回的是空字符串。
- JS脚本中Null与Undefined的区别
- 常用的几种jsp开发环境搭建(怎么一键安装Jsp网站程序?Jsp环境一键配置软件JspStudy推荐)
- nodejs架构解析(详解NodeJS模块化)
- node.js怎么使用import(Node.js断点续传的实现)
- js 图片编辑处理库(javascript input图片上传及预览,FileReader预览图片)
- js如何实现定时器功能(js实现0ms延时定时器的几种方式)
- pythonjson库(Python常用的json标准库)
- js字符串常用函数
- js tab栏案例(JavaScript实现Tab栏切换特效)
- js中this的用法
- js编写简单网页计算器(js实现网页计算器)
- react实现js控制样式(React + Threejs + Swiper 实现全景图效果的完整代码)
- videojs播放流媒体(video.js支持m3u8格式直播的实现示例)
- 延迟加载js文件
- js验证身份证号
- mysql xml转换json(Mysql将查询结果集转换为JSON数据的实例代码)
- 谷雨前,吃牛羊肉别忘了吃河鲜,除湿还清热,加紫苏一炒特解馋(吃牛羊肉别忘了吃河鲜)
- 紫苏牛肉锅里滚一滚,香的鼻子都要掉了(紫苏牛肉锅里滚一滚)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
- 今天 3月13日,31年前,一个英雄少年感动了中国(今天3月13日31年前)
热门推荐
- webapi 参数的传递
- javascript中图片轮播效果代码(JavaScript实现简单的轮播图效果)
- volume怎么添加docker(docker volume删除卷的操作)
- 怎么把织梦的dede改掉(织梦dedecms 提示 body has not allow words 问题解决)
- nginx 怎么避免options请求(详解nginx 的 default_server 定义及匹配规则)
- apache连接tomcat配置(Apache结合Tomcat实现动静分离的方法)
- linux安装phpstudy(PHPStudy下如何为Apache安装SSL证书的方法步骤)
- 国外云主机可以备案吗(云主机免备案是什么?)
- 阿里云服务器总被攻击怎么办(香港云服务器遭遇恶意攻击怎么处理?)
- 开发中常用工具推荐