詳解 javascript中offsetleft屬性的用法
此屬性可以返回當(dāng)前元素距離某個(gè)父輩元素左邊緣的距離,當(dāng)然這個(gè)父輩元素也是有講究的。
(1).如果父輩元素中有定位的元素,那么就返回距離當(dāng)前元素最近的定位元素邊緣的距離。
(2).如果父輩元素中沒(méi)有定位元素,那么就返回相對(duì)于body左邊緣距離。
語(yǔ)法結(jié)構(gòu):
obj.offsetleft
特別說(shuō)明:此屬性是只讀的,不能夠賦值。
代碼實(shí)例:
<!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元素的左側(cè)的距離,因?yàn)閙ain元素是第一個(gè)定位父輩元素。
<!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元素左側(cè)的尺寸。
此屬性具有一定的兼容性問(wèn)題,具體可以參閱offsetleft兼容性簡(jiǎn)單介紹一章節(jié)。
ps:js中的offsetLeft屬性具體有什么作用?
可以判斷一個(gè)物體的跟document的左邊距離,也就是瀏覽器左邊緣。比如你寫一個(gè)div 獲取這個(gè)div之后alert(你的div.offsetLeft)就可以看到他現(xiàn)在距離瀏覽器左邊的距離。當(dāng)然你也可以用他給對(duì)象賦值,offset不單單只有Left 還有offsetTop offsetWidth offsetHeight 都是JS里很有用的屬性。
相關(guān)文章
淺談使用MVC模式進(jìn)行JavaScript程序開發(fā)
這篇文章主要介紹了淺談使用MVC模式進(jìn)行JavaScript程序開發(fā),同時(shí)也介紹了一些JavaScript的MVC框架,需要的朋友可以參考下2015-11-11
微信小程序事件 bindtap bindinput代碼實(shí)例
這篇文章主要介紹了微信小程序事件 bindtap bindinput代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Jupyter Notebook運(yùn)行JavaScript的方法
Jupyter Notebook是一塊所見(jiàn)即所得的畫布,通過(guò)在瀏覽器上編輯代碼,讓開發(fā)人員實(shí)現(xiàn)展示與快速迭代的利器,本文主要介紹了Jupyter Notebook運(yùn)行JavaScript的方法,感興趣的可以了解一下2021-05-05
javascript分頁(yè)代碼(當(dāng)前頁(yè)碼居中)
昨天看了妙味課堂的 分頁(yè)視頻教程,今天自己參照其思路,自己寫了下,并且自己新增了一個(gè)顯示頁(yè)碼個(gè)數(shù)的屬性 showPageNum2012-09-09
JS腳本實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法
這篇文章主要介紹了JS腳本實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法,結(jié)合實(shí)例形式分析了javascript添加事件監(jiān)聽的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-06-06
解析JavaScript中instanceof對(duì)于不同的構(gòu)造器或許都返回true
這篇文章主要是對(duì)JavaScript中instanceof對(duì)于不同的構(gòu)造器或許都返回true進(jìn)行了詳細(xì)的解析,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12

