详解 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实现统计文本框Textarea字数增强用户体验

    JavaScript实现统计文本框Textarea字数增强用户体验

    现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验,本文也尝试着实现一下
    2012-12-12
  • Java设计中的Builder模式的介绍

    Java设计中的Builder模式的介绍

    这篇文章主要介绍了从一个Person例子进行分析重叠构造器模式、Builder模式的使用场景以及运用JavaBeans模式弥补重叠构造器模式的不足
    2018-03-03
  • JavaScript实现动态数字时钟

    JavaScript实现动态数字时钟

    这篇文章主要为大家详细介绍了JavaScript实现动态数字时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 原生js实现瀑布流效果

    原生js实现瀑布流效果

    这篇文章主要为大家详细介绍了原生js实现简单瀑布流效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 网络图片延迟加载实现代码 超越jquery控件

    网络图片延迟加载实现代码 超越jquery控件

    原理是分段加载图片,主要用于大型网站节省带宽,可是他们提供的东西压缩混淆看不清,还有的要基于什么雅虎的什么库,总之是很麻烦的,JQ的控件倒是够清晰了,只是还是没有达到节省网络带宽的效果
    2010-03-03
  • setInterval 和 setTimeout会产生内存溢出

    setInterval 和 setTimeout会产生内存溢出

    jscript 5.7 发布修复了不少ie javascript内存泄露的问题。但是leak依然存在。当我们频繁使用 setInterval 和 setTimeout 时就会每几秒钟出现32k leak...
    2008-02-02
  • javascripit实现密码强度检测代码分享

    javascripit实现密码强度检测代码分享

    这篇文章主要介绍了javascripit实现密码强度检测,大家参考使用吧
    2013-12-12
  • 判断js对象是否拥有某一个属性的js代码

    判断js对象是否拥有某一个属性的js代码

    js对象是否拥有某一个属性的判断方法有很多,下面为大家介绍个比较实用的技巧,希望对大家有所帮助
    2013-08-08
  • javascript 最常用的10个自定义函数[推荐]

    javascript 最常用的10个自定义函数[推荐]

    如果不使用类库或者没有自己的类库,储备一些常用函数总是有好处的。
    2009-12-12
  • js中的preventDefault与stopPropagation详解

    js中的preventDefault与stopPropagation详解

    本篇文章主要是对js中的preventDefault与stopPropagation进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01

最新评论