详解 javascript中offsetleft属性的用法

 更新时间:2015年11月11日 09:12:31   投稿:mrr  
本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一下参考。

此属性可以返回当前元素距离某个父辈元素左边缘的距离,当然这个父辈元素也是有讲究的。

(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的new操作符(一)

    用方法封装javascript的new操作符(一)

    虽然js是基于对象的,但在很多时候会使用到new这个操作符。
    2010-12-12
  • es6数值的扩展方法

    es6数值的扩展方法

    这篇文章主要介绍了es6数值的扩展方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 浅谈使用MVC模式进行JavaScript程序开发

    浅谈使用MVC模式进行JavaScript程序开发

    这篇文章主要介绍了浅谈使用MVC模式进行JavaScript程序开发,同时也介绍了一些JavaScript的MVC框架,需要的朋友可以参考下
    2015-11-11
  • javascript遍历控件实例详细解析

    javascript遍历控件实例详细解析

    这篇文章详细解析了javascript遍历控件实例,有需要的朋友可以参考一下
    2014-01-01
  • 微信小程序事件 bindtap bindinput代码实例

    微信小程序事件 bindtap bindinput代码实例

    这篇文章主要介绍了微信小程序事件 bindtap bindinput代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Jupyter Notebook运行JavaScript的方法

    Jupyter Notebook运行JavaScript的方法

    Jupyter Notebook是一块所见即所得的画布,通过在浏览器上编辑代码,让开发人员实现展示与快速迭代的利器,本文主要介绍了Jupyter Notebook运行JavaScript的方法,感兴趣的可以了解一下
    2021-05-05
  • javascript分页代码(当前页码居中)

    javascript分页代码(当前页码居中)

    昨天看了妙味课堂的 分页视频教程,今天自己参照其思路,自己写了下,并且自己新增了一个显示页码个数的属性 showPageNum
    2012-09-09
  • JS脚本实现动态给标签控件添加事件的方法

    JS脚本实现动态给标签控件添加事件的方法

    这篇文章主要介绍了JS脚本实现动态给标签控件添加事件的方法,结合实例形式分析了javascript添加事件监听的相关实现技巧,需要的朋友可以参考下
    2016-06-06
  • 解析JavaScript中instanceof对于不同的构造器或许都返回true

    解析JavaScript中instanceof对于不同的构造器或许都返回true

    这篇文章主要是对JavaScript中instanceof对于不同的构造器或许都返回true进行了详细的解析,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 微信小程序父子组件通信详细介绍

    微信小程序父子组件通信详细介绍

    这篇文章主要介绍了小程序中父子组件通信详解,在父组件中,为子组件添加属性数据,即可实现父组件向子组件通信,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-11-11

最新评论