详解 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 面向对象之神奇的prototype
Feb 26 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 Javascript
js中日期的加减法
May 06 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
Oct 11 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
小程序中this.setData的使用和注意事项
Aug 28 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 Javascript
关于Layui Table隐藏列问题
Sep 16 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
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
试用php中oci8扩展
2015/06/18 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
告诉大家什么是JSON
2008/06/10 Javascript
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
jQuery实现全选按钮
2021/01/01 jQuery
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
简单谈谈Python中函数的可变参数
2016/09/02 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python中wx模块的具体使用方法
2020/05/15 Python
python如何求圆的面积
2020/07/01 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
董事长岗位职责
2013/11/30 职场文书
经典禁毒标语
2014/06/16 职场文书
求职意向书范本
2015/05/11 职场文书