JavaScript中offsetLeft属性的用法详解
作者:代码拾荒时间:2026-10-30 19:31:06浏览:103
本文详解JavaScript中offsetLeft属性的用法。该属性只读,用于获取元素相对于最近定位父元素的左边缘距离;若无定位父元素,则返回相对于body的距离。通过包含与不包含定位父元素的两个实例,展示了offsetLeft的具体计算结果与应用场景。
offsetLeft属性基本定义
obj.offsetLeft是一个只读属性,无法直接进行赋值操作。
该属性可用于返回当前元素距离其某个父辈元素左边缘的距离:
- 若父辈元素中存在定位元素,则返回距离当前元素最近的定位元素边缘的距离。
- 若父辈元素中不存在定位元素,则返回相对于body左边缘的距离。
实例一:存在定位父元素
实例一:存在定位父元素的情况
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>demo1</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");
document.getElementById("msg").innerHTML = 'offsetLeft='+inner.offsetLeft;
}
</script>
</head>
<body>
<div id="msg"></div>
<div id="main">main(position:absolute)
<div id="box">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>demo2</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");
document.getElementById("msg").innerHTML = 'offsetLeft='+inner.offsetLeft;
}
</script>
</head>
<body>
<div id="msg"></div>
<div id="main">
main
<div id="box">
box
<div id="inner">inner</div>
</div>
</div>
</body>
</html>运行结果如下:

返回inner元素距离body元素左侧的尺寸。
到此这篇关于js的offsetLeft属性用法小结的文章就介绍到这了,更多相关js offsetLeft属性内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
作者最新文章
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
JavaScript函数定义的三种方式:声明、表达式与箭头函数
2026-11-05 13:50:55
JavaScript中escape、encodeURI和encodeURIComponent对空格的处理差异
2026-11-05 12:47:23
