Autor Zpráva
Fisak
Profil
Zdravíčko... Chtěl bych se zeptat na jednu věc (Stačí mi název toho co mám hledat) mám prostě iframe 100x100 px a mám v něm obrázek 500x500 px... vypnu si posuvníky a rád bych se v něm posouval tim že kliknu na ten obrázek a budu ho sunout.. funguje tak pohyb i na mapy.cz i na google maps.. že prostě to je jakoby když dáš dlaň na papír na stole a ten papír tou dlaní posouváš po tom stole...


Našel jsem kod:
<style type="text/css">
.presun_mne    {position:relative; cursor:move;}
</style>

<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;    // aktualni presunovany objekt
var presun_objekt2 = null;    // predchozi presunovany objekt. kvuli nastaveni z-indexu

function presunPohyb(udalost)    //mousemove
{
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;                            // zablokuj udalost
    }
return true;
}

function presunSpust(udalost)        //mousedown
{
var objekt      = nn6 ? udalost.target : event.srcElement;            // ziskej objekt, na ktery se kliklo
var top_element = nn6 ? "HTML" : "BODY";
while (objekt.className!=presun_class && objekt.tagName!=top_element)    // opakuj, dokud se nedostanes na tag HTML/BODY nebo na objekt s class rovnajici se hodnote v presun_class
    {
    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);    // ziskej aktualni souradnice objektu
    presun_objektY = parseInt(presun_objekt.style.top  + 0);
    x = nn6 ? udalost.clientX : event.clientX;                // ziskej aktualni polohu mysi
    y = nn6 ? udalost.clientY : event.clientY;
    return false;                            // zablokuj udalost
    }
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;
}

// presmeruj funkce mysi z dokumentu na moje
document.onmousedown = presunSpust;
document.onmousemove = presunPohyb;
document.onmouseup   = presunZastav;

</script>
<div class="presun_mne"><a href="http://seznam.cz"><img src="./themes/web/cs/default/images/facebook.png"></a></div>

Ale problém je s tím že když dotyčný obrázek přesouvám tak se v pohodě přesouvá ale pokud ho pustím ten obrázek tak se přesměruje na dotyčnou adresu v hrefu.. rád bych aby se tam přesunul čistě jen po kliknutí nikoliv při přesunu...
Fisak
Profil
plus ještě sem teď zjistil že když mám hodně obrázků (mám třeba 100 obrázků každý po 20px a můj prohlížeč má např jen 1000px šířku) tak se mi to v pravo na kraji prohlížeče zalomí a pokračují ty obrázky na dalším řádku místo aby šli za kraj prohlížeče ... nevíte prosím někdo jak tyto dva problémy vyřešit ?
Fisak
Profil
Ještě jedna věc ale to je trochu vedlejší... dalo by se zařídit aby když budu mít okno s 1000px a obrázek kterej má 20 000px tak aby šel maximálně šoupnout ke kraji? Myslím to tak že bych neviděl tim šoupáním vlastně prázdné místo před za nad pod tím obrázkem ale čistě bych mohl vidět jen ten obrázek a když bych chtěl vidět co je za pravým krajem tak by to nešlo protože by se pravý kraj obrázku blokl u pravého kraje prohlížeče a nemohl bych více sunout s obrázkem doleva...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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