Hente position (css) med js

Tags:    javascript

Hejsa

Jeg har lavet et lille script til at hente x/y koordinater, for et element:

Fold kodeboks ind/udKode 


Jeg har et halvavanceret stylesheet, der tit gør brug af position: relative, til at positionere elementer absolut på elementet med relative, istedet for at skulle angive koordinater for hjørnet af browseren

Så for at undgå, at jeg får koordinater fra element til body, istedet for kun at få koordinater til et element med position: relative, ville jeg gerne tjekke om elementet har den style på sig, men jeg kan kun hente det ud med objObject.style, der kun giver mig inline style..

Så er der ikke en måde i js, at hente style ud, der kommer fra et stylesheet?



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
prøv på denne side at skrive følgende i adresse feltet :

Fold kodeboks ind/udKode 




Fold kodeboks ind/udKode 
Med denne skulle du gerne kunne hente props fra externe stylesheets.



window.alert(obj.style.top)

obj.style.top = "25px"; etc

left, right, bottom.

Men det kræver nok de er sat. Altså at de har egenskaben. Endten gennem CSS, eller Js.

/J



Indlæg senest redigeret d. 22.07.2008 16:03 af Bruger #5789
Ellers tager det da ikke mange splitsekunder at skrive det.

Fold kodeboks ind/udKode 




Ellers tager det da ikke mange splitsekunder at skrive det.

Fold kodeboks ind/udKode 


Med lidt skygklapper på, ja.. hvad hvis det ikke er parentnode der er relativt positioneret? - den må skulle iterere tilbage og finde nærmeste parentnode (style.position == relative), og ikkke bare første.

/JJ



Indlæg senest redigeret d. 23.07.2008 00:49 af Bruger #5789
Tak for jeres hjælp, men det er ikke helt det jeg spørger efter

Scriptet virker, den henter det øvre element, der er positioneret til og henter offset left og top

Men for at scriptet virker 100%, så skal jeg stoppe scriptet før jeg når body, hvis jeg når til et relativt positioneret element.. men det kan jeg ikke læse via object.style.position, da den kun kan hente inline style (dvs. hvis det ikke kommer fra style-attributten, men fra et stylesheet)



t