ugrás a tartalomhoz

Div milyen messze van a böngésző tetejétől

vhalaky · 2007. Ápr. 26. (Cs), 18.06
Sziasztok, hogyan tudom meghatározni hogy egy div teteje milyen távolságra van a böngésző tetejétől? offsetTop-pal próbálkoztam és Firefoxban jól működik (bár azt nem tudom hogy a kapott adatot hogyan kell értelmezni, mert ilyen 3000res értéket ad (1280*1024ben)), de IE-ben nem.

Kellene valami jó megoldás....
 
1

top

jordapeti · 2007. Ápr. 26. (Cs), 18.32
hello

nekem is volt már, hogy a div nem szerette a top parancsot.

erre csak azt tudom mondani, hogy próbáld meg style="border-top: érték;" parancsal
2

--

Charybdis · 2007. Ápr. 26. (Cs), 21.48
Szerintem inkább arra vonatkozott a kérdés, hogyan lehet Javascripttel lekérdezni, milyen messze van egy div teteje a látható terület tetejétől, nem?

Mert megadni egyszerű: position: absolute majd top: 200px.
3

Igen, az volt a kérdés

vhalaky · 2007. Ápr. 27. (P), 09.42
Beállítani be tudom, csak korrektül lekérdezni nem....
4

offsetTop ...

Max Logan · 2007. Ápr. 27. (P), 10.08
... lesz a barátod. Nemrég csináltam olyat, hogy egy oldalon bizonyos funkció akiválásakor egy takaró DIV-et tettem egy másik DIV fülé, hogy ne tudjanak menet közben ott manipulálni.

Lekérdezed a távolságot : tavolsag = dom_elem.offsetTop;
Beállítás : dom_elem.style.top = tavolsag + 'px';

Az IE nemtom, hogy csak az én kódomban viselkedik-e így, de az offsetTop értékéhez hozzá kell adni 20-at, ekkor teszi jó helyre. Lehet, hogy nálad is ez a gond.
5

Végül találtam egy függvényt

vhalaky · 2007. Ápr. 27. (P), 11.22
function getAbsoluteTop(objectId)
{
// Get an object top position from the upper left viewport corner
// Tested with relative and nested objects
o = document.getElementById(objectId)
oTop = o.offsetTop            // Get top position from the parent object
while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
oParent = o.offsetParent  // Get parent object reference
oTop += oParent.offsetTop // Add parent top position
o = oParent
}
// Return top position
return oTop
}


Ez elég jól működik, kisebb eltérések vannak az egyes böngészőkben de az még belefér (bekezdés tetejéhez kell pozícionálni, tehát nem kell annyira pontosnak lennie).