Autor Zpráva
Sylar
Profil
Zdravím,
mám na stránce div s position: fixed; . Tento div je drag&drop a uživatel si s ním tedy může libovolně hýbat. Když jej někam přesune, zjistím jeho pozice a ty uložím do cookies. Problém nastává, pokud je stránka scrolovatelná. Když totiž uživatel odscroluje na spodek stránky, která je dlouhá např. 1000px a poté přesune zmiňovaný div, uloží se do cookies pozice vzhledem k celé stránce, já ale potřebuju, aby se uložila pozice pouze vzhledem k oknu prohlížeče. Používám jQuery a position() i offset() mi vracejí stejné, pro mě šaptné, hodnoty.

Existuje nějaká funkce, která vrací pozice vzhledem k oknu prohlížeče nebo se na to musí jinak, složitěji?
Chamurappi
Profil
Reaguji na Sylara:
Použij element.getBoundingClientRect(), vrací obdélník, v left a top najdeš hodnoty v pixelech.
(Zmíněné funkce z jQuery ho mimochodem používají také, ale přičítají k hodnotám stav narolování.)
Sylar
Profil
Chamurappi:
to je přesně ono, skvělé. díky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: