详解 javascript中offsetleft属性的用法


Posted in Javascript onNovember 11, 2015

此属性可以返回当前元素距离某个父辈元素左边缘的距离,当然这个父辈元素也是有讲究的。

(1).如果父辈元素中有定位的元素,那么就返回距离当前元素最近的定位元素边缘的距离。
(2).如果父辈元素中没有定位元素,那么就返回相对于body左边缘距离。

语法结构:

obj.offsetleft

特别说明:此属性是只读的,不能够赋值。

代码实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
*{
 margin: 0px;
 padding: 0px;
}
#main{
 width:300px;
 height:300px;
 background:red;
 position:absolute;
 left:100px;
 top:100px;
}
#box{
 width:200px;
 height:200px;
 background:blue;
 margin:50px; 
 overflow:hidden;
}
#inner{
 width:50px;
 height:50px;
 background:green;
 text-align:center;
 line-height:50px;
 margin:50px;
}
</style>
<script type="text/javascript">
window.onload=function(){
 var inner=document.getElementById("inner");
 inner.innerHTML=inner.offsetLeft;
}
</script>
</head>
<body>
<div id="main">
 <div id="box">
 <div id="inner"></div>
 </div>
</div>
</body>
</html>

上面的代码可以返回inner元素距离main元素的左侧的距离,因为main元素是第一个定位父辈元素。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
*{
 margin: 0px;
 padding: 0px;
}
#main{
 width:300px;
 height:300px;
 background:red;
 margin:100px;
}
#box{
 width:200px;
 height:200px;
 background:blue;
 overflow:hidden;
}
#inner{
 width:50px;
 height:50px;
 background:green;
 text-align:center;
 line-height:50px;
 margin:50px;
}
</style>
<script type="text/javascript">
window.onload=function(){
 var inner=document.getElementById("inner");
 inner.innerHTML=inner.offsetLeft;
}
</script>
</head>
<body>
<div id="main">
 <div id="box">
 <div id="inner"></div>
 </div>
</div>
</body>
</html>

上面的代码返回inner元素距离body元素左侧的尺寸。

此属性具有一定的兼容性问题,具体可以参阅offsetleft兼容性简单介绍一章节。

ps:js中的offsetLeft属性具体有什么作用?

可以判断一个物体的跟document的左边距离,也就是浏览器左边缘。比如你写一个div 获取这个div之后alert(你的div.offsetLeft)就可以看到他现在距离浏览器左边的距离。当然你也可以用他给对象赋值,offset不单单只有Left 还有offsetTop offsetWidth offsetHeight 都是JS里很有用的属性。

Javascript 相关文章推荐
js 操作css实现代码
Jun 11 Javascript
jQuery 使用手册(四)
Sep 23 Javascript
Firebug入门指南(Firefox浏览器)
Aug 21 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
浅谈Node.js:fs文件系统模块
Dec 08 Javascript
原生js获取left值和top值的三种方法
Aug 02 Javascript
vue2.0的虚拟DOM渲染思路分析
Aug 09 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
jquery事件的ready()方法使用详解
Nov 11 #Javascript
浅谈使用MVC模式进行JavaScript程序开发
Nov 10 #Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 #Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 #Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 #Javascript
简单学习JavaScript中的for语句循环结构
Nov 10 #Javascript
js密码强度校验
Nov 10 #Javascript
You might like
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
Python 私有函数的实例详解
2017/09/11 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
python处理数据,存进hive表的方法
2018/07/04 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Django框架封装外部函数示例
2019/05/28 Python
python实现日志按天分割
2019/07/22 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
家庭户外服装:Hawkshead
2017/11/02 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
运动会邀请函范文
2014/02/06 职场文书
教学改革实施方案
2014/03/31 职场文书
教导主任个人总结
2015/03/03 职场文书
合作意向书范本
2019/04/17 职场文书