2013-05-28 17 views

Odpowiedz

2

Można ustawić style.left - można go zdefiniować przez użytkownika, a nawet pozostawić puste, natomiast offsetLeft jest zawsze tylko do odczytu i zawsze ma wartość - aktualna pozycja.

6

element.offsetLeft Zwraca liczbę pikseli, które lewy górny narożnik bieżącego elementu jest przesunięty w lewo w węźle offsetParent.

elem.style.left to get własności lewo od atrybutu stylu

0

style odnosi się do reguł CSS, podczas gdy druga odnosi się do rzeczywistego przesunięcia elementu w stosunku do rodzica, nie ważne czy pozycjonowanie jest spowodowane przez css lub coś innego, tak jak inny obiekt, odstępy lub cokolwiek innego.

0

style.left jest lewo położenia na ekranie okienka ekranu, natomiast element.offsetLeft jest przesunięcie w lewo od położenia zewnętrznego elementu nadrzędnego

+0

Tak, element.style.left = element.offsetLeft + element.parentNode.offsetLeft? – user2155362

+0

@ user2155362 To prawda. Zobacz [skrzypce] (http://jsfiddle.net/pVGdc/9/). Pamiętajcie, że offsetLeft jest wartością tylko do odczytu. – cube

+0

Wrong: style.left jest domyślnie nic, ponieważ 'position' jest' static'. Staje się względne w stosunku do swojej statycznej pozycji przez 'position: relative', w stosunku do viewportu przez' position: fixed', i względem next jest matką offsetową przez 'position: absolute'. So offsetLeft powinno być jego względną pozycją plus (i to jest odgadnięcie) marginesu i transformacji. – brannigan

1

element.offsetLeft zwraca się odległości od lewego brzegu węzła do węzła nadrzędnego w pikselach.

style.left jest styl CSS dla węzła i mogą być w każdym z tych formatów: CSS Unit Formats

Powiązane problemy