详解 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 相关文章推荐
jquery中prop()方法和attr()方法的区别浅析
Sep 06 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
基于JS实现导航条flash导航条
Jun 17 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
JavaScript从原型到原型链深入理解
Jun 03 Javascript
es6函数之rest参数用法实例分析
Apr 18 Javascript
JavaScript中的各种宽高属性的实现
May 08 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通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
2020/03/26 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
在Python中使用模块的教程
2015/04/27 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
Python使用xpath实现图片爬取
2020/09/16 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
2019年大学推荐信
2019/06/24 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript