Autor Zpráva
Flavius
Profil *
Jaká hodnota udává (pro všechny prohlížeče nebo které hodnoty) absolutní pozici prvku (např. span nebo div) na stránce?

Jedná se mi o to, aby jeden prvek překryl druhý, přičemž jeho pozici neznám (překrývajícímu ji chci nastavit podle prvního).

Někde jsem našel něco ve stylu document.getElementById('jmeno').offsetTop, offsetLeft, ale to mi ve Firefoxu nefunguje.

Díky

Flavius
peta
Profil *
http://slayeroffice.com/
pridek si mezi bookmark popular - modi a prozkoumej si script
Flavius
Profil *
Koukal jsem se na pár věcí, ale to offsetTop funguje jenom pro absolutně pozicované prvky, a to jenom když se tomu zrovna chce...
Leo
Profil
Jednoducha odpoved zni - jednoduse a univerzalne to nejde. Znate alespon rozmery toho zakryvaneho prvku? Leo
Yuhů
Profil
obvykle se na tohle používají vlastnosti .top a .left (namísto .offsetTop), ovšem jejich problém je ten, že pokud nejsou nastaveny přímo vlastností top nebo left, tak se nepřečtou.

Tyhle akce se většinou musejí řešit tak, že se druhý prvek vyjme z dokumentu, vloží se jako nový node do prvního prvku a společně se jim nastavuje absolutní pozice.
Leo
Profil
"vloží se jako nový node do prvního prvku a společně se jim nastavuje absolutní pozice"

Prave proto jsem se ptal, jestli zna rozmery toho prvku, ktery chce prekryvat, bez toho zbyva jedine naplnit ho stejnym obsahem. Leo
juneau
Profil
Mne se osvedcil tenhle kod:



// works in IE and Mozilla.
function getElementPosition(element){
var x=0,y=0;
while (element!=null){
x+=element.offsetLeft-element.scrollLeft;
y+=element.offsetTop-element.scrollTop;
element=element.offsetParent;
}
return {x:x,y:y};
}

// Browser compatible element getter
function getElement(id){
if (document.all)
return document.all[id];
if (document.getElementById(id))
return document.getElementById(id);
return null;
}

// generic display function
function findElement(id){
// Get the element by its id
element = getElement(id);
// make sure that the element was found
if (! element) return;
// get the object that will contain the x,y coordinates
return position = getElementPosition(element);
}


// pozice obrazku
var pozice = findElement('obrazek'); // obrazek = id elementu
var poz_x = pozice.x;
var poz_y = pozice.y;



dosel jsem k tomu po tomhle vlaknu: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=15 455 ... a nebo proste do googlu zadas "element position javascript x y" ...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0