Autor Zpráva
Nezboo
Profil
Dobrý deň

Mám kód v javascripte, cez ktorý posúvam obrázok v dive. Problém nastal v tom že keď tomu obrázku, ktorý sa draguje, určim príklad -100px, tak mi ho načíta v poriadku tých -100px, ale keď ho chytím myšou a idem pohnúť, tak mi ho dá do klasickej polohy a to 0,0

Kód
<script type="text/javascript">
var nn6 = document.getElementById && !document.all;
var x,y,presun_objektX,presun_objektY;
var presun_class   = 'presun_mne';
var presun_objekt  = null;
var presun_objekt2 = null;

function presunPohyb(udalost)
{
if (presun_objekt!=null)
    {
    presun_objekt.style.left = presun_objektX + (nn6 ? udalost.clientX - x : event.clientX - x) + "px";
    presun_objekt.style.top  = presun_objektY + (nn6 ? udalost.clientY - y : event.clientY - y) + "px";
    return false;
    }
return true;
}

function presunSpust(udalost)
{
var objekt      = nn6 ? udalost.target : event.srcElement;
var top_element = nn6 ? "HTML" : "BODY";
while (objekt.className!=presun_class && objekt.tagName!=top_element)
    {
    objekt = nn6 ? objekt.parentNode : objekt.parentElement;
    }
if (objekt.className==presun_class)
    {
    presun_objekt  = objekt;
    presun_objekt.style.zIndex = 10;
    presun_objektX = parseInt(presun_objekt.style.left + 0);
    presun_objektY = parseInt(presun_objekt.style.top  + 0);
    x = nn6 ? udalost.clientX : event.clientX;
    y = nn6 ? udalost.clientY : event.clientY;
    return false;
    }
return true;
}

function presunZastav(udalost)    //mouseup
{
if (presun_objekt2!=null)
    {
    presun_objekt2.style.zIndex = 1;
    }
if (presun_objekt!=null)
    {
    presun_objekt.style.zIndex  = 2;
    }
presun_objekt2 = presun_objekt;
presun_objekt  = null;
return true;
}
document.onmousedown = presunSpust;
document.onmousemove = presunPohyb;
document.onmouseup   = presunZastav;

</script>

Ďakujem
_es
Profil
Nezboo:
A čo s tým kódom? To čakáš, že si z neho niekto domyslí, čo má robiť a nerobí a dorobí zvyšok k (ne)funkčnej živej ukážke (zvyšok JS, HTML kód, ...)? Skadiaľ si ten kód okopíroval? Vyzerá dosť „historicky“, možno bude fungovať len v niektorých prehlidačoch - „pofidérna“ premenná nn6.

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