Autor Zpráva
regy
Profil
Zdravím, už jsou tu o tom asi dvě témata, ale já z toho nejsem schopen pochopit, jak to probíhá. Jde o to, že pomocí offsetparent potřebuji zjistit absolutní pozivci divu z levé strany a zezhora. Mohli byste mi sem prosím někdo napsat script, protože z tohoto tématu jsem to nějak nepochopil. Předem moc děkuji.
panhuhu
Profil
Cely postup naleznes na QuirksMode. Staci opsat to co je uvedeno v sedych pruzich. Funkci predas jako parametr objekt, u ktereho chces zjistit pozici, a ta ti vrati pole hodnot (left,top).
regy
Profil
dík. Snad to bude fungovat
regy
Profil
tak jsem to zkoušel takto a píše mi to, že proměnná pozice není definována
function findPos(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    do {
      curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	 return [curleft,curtop];
  }
}

function transport(x) {
  var pozice = findPos(x);
  document.getElementById("modulx").value = pozice["left"];
  document.getElementById("moduly").value = pozice["top"];
}
panhuhu
Profil
document.getElementById("modulx").innerHTML = pozice[0];
document.getElementById("moduly").innerHTML = pozice[1];
regy
Profil
dík. vale stále to píše, že pozice není definována.
panhuhu
Profil
Muzes to nekam umistit, at se na to kouknu? Me to funguje bezchybne.
regy
Profil
no ten javascript je hodně obsáhlej tak možná prot to nefunguj,e že je tam nějaká jiná chyba... Nevím jesli se v tom vyznáš. Dám to na beta2.kablik.cz
regy
Profil
je to při tom přesouvání jednotlivách oken v tom javascriptu (http://beta2.kablik.cz/transport.php je to řádek od 244 do 279. Moc dík
panhuhu
Profil
V samotné funkci problem neni, funguje jak ma (testoval jsem v dostupnych prohlizecich). Potreboval bych videt jak dochazi k volani, nejlepe funkcni html. Samotny JS neni ono. Osobne tipuji, ze neni splnena podminka

if (obj.offsetParent) {


V tom pripade nevraci funkce nic, zkus zmenit pozici navratove hodnoty

function findPos(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    do {
      curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);     
  }
  return [curleft,curtop];
}
regy
Profil
funkční html je na http://beta2kablik.cz/index.html ,nebo php ale žádný phko v tom není :-).

"zkus zmenit pozici navratove hodnoty " - co tí myslíš?

BTW: moc díky za ochotu s jakou mi pomáháš vyřešit tenhle problém
panhuhu
Profil
Mel jsi spatne umisteno return [curleft,curtop]; . Spravne umisteni mas v mem predchozim komentari.
regy
Profil
aha sorry nějaksem to přehlíd.. Moc díky.snat to už ně¨jakrozchodim...
regy
Profil
Chyba už tam není, ale teĎ to vyhazuje pouze nulu. Nevíš prosím čím to je?

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:

Prosím používejte diakritiku a interpunkci.

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

0