详解 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 相关文章推荐
JavaScript 实现??打印?理
Apr 28 Javascript
jQuery 相关控件的事件操作分解
Aug 03 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
js 判断checkbox是否选中的操作方法
Nov 09 Javascript
JS常用函数使用指南
Nov 23 Javascript
javascript实现3D切换焦点图
Oct 16 Javascript
JavaScript实现cookie的写入、读取、删除功能
Nov 05 Javascript
jquery获取所有选中的checkbox实现代码
May 26 Javascript
灵活使用数组制作图片切换js实现
Jul 28 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
AngularJS的$location使用方法详解
Oct 19 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 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中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
js word表格动态添加代码
2010/06/07 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
Python求离散序列导数的示例
2019/07/10 Python
Django实现文件上传下载功能
2019/10/06 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
python判断无向图环是否存在的示例
2019/11/22 Python
Keras自定义IOU方式
2020/06/10 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
夜大自我鉴定
2013/10/31 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
新品发布会策划方案
2014/06/08 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
公安机关起诉意见书
2015/05/20 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技