详解 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 相关文章推荐
setTimeout和setInterval的浏览器兼容性分析
Feb 27 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
AJAX分页的代码(后台asp.net)
Feb 14 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
Dec 17 Javascript
js处理json以及字符串的比较等常用操作
Sep 08 Javascript
JS实现的自定义右键菜单实例二则
Sep 01 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
动态设置form表单的action属性的值的简单方法
May 25 Javascript
Bootstrap Table列宽拖动的方法
Aug 15 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 Javascript
vue 限制input只能输入正数的操作
Aug 05 Javascript
JavaScript实现点击切换功能
Jan 27 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
第十二节--类的自动加载
2006/11/16 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
php输入流php://input使用浅析
2014/09/02 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
django的ORM模型的实现原理
2019/03/04 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
销售经理岗位职责
2014/03/16 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
Python OpenCV形态学运算示例详解
2022/04/07 Python