详解 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 学习笔记(五)
Dec 31 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
Jun 04 Javascript
用box固定长宽实现图片自动轮播js代码
Jun 09 Javascript
基于javascript简单实现对身份证校验
Jan 25 Javascript
JavaScript String 对象常用方法总结
Apr 28 Javascript
js实现页面a向页面b传参的方法
May 29 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
Aug 16 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
Sep 10 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
php实现文件下载实例分享
2014/06/02 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
javascript运动详解
2015/07/06 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
JavaScript中的全局属性与方法深入解析
2020/06/14 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python删除windows垃圾文件的方法
2015/07/14 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
python动态文本进度条的实例代码
2020/01/22 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
详解Python模块化编程与装饰器
2021/01/16 Python
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
吃空饷专项整治方案
2014/10/27 职场文书
2014年项目工作总结
2014/11/24 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
2015年基层党支部工作总结
2015/05/21 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
nginx反向代理时如何保持长连接
2021/03/31 Servers
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers