style.left 與offsetLeft之間的區別
- 2021-09-30
offsetLeft 獲取的是相對於父物件的左邊距
left 獲取或設定相對於 具有定位屬性(position定義為relative)的父物件 的左邊距
如果父div的position定義為relative,子div的position定義為absolute,那麼子div的style。left的值是相對於父div的值,
這同offsetLeft是相同的,區別在於:
1。 style。left 返回的是字串,如28px,offsetLeft返回的是數值28,如果需要對取得的值進行計算,
還用offsetLeft比較方便。
2。 style。left是讀寫的,offsetLeft是隻讀的,所以要改變div的位置,只能修改style。left。
3。 style。left的值需要事先定義,否則取到的值為空。而且必須要定義在html裡,我做過試驗,如果定義在
css裡,style。left的值仍然 為空,這就是我剛開始碰到的問題,總是取不到style。left的值。
offsetLeft則仍然能夠取到,無需事先定義div的位置。
ni的css屬性left 除非是內聯樣式,或透過style。left賦值了,才有,不然即使有定位,透過n1。style。left取過來的也是null。
可以用n1。offsetleft來獲取取n1距離上一個定位區域的距離
var left=0;
var elem=n1;
do{
left+=elem。offsetleft;//距上個定位點距離
if(elem。tagname!=“body”){//忽略視窗捲軸
left-=elem。scrollleft;
};
}while(elem=elem。offsetparent);
//left就好了。。。
if(left==195){movecaption();}
上一篇:真人真人密室逃脫金字塔之謎攻略
下一篇:現在多層次直銷合法不?