Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Przesuwanie obrazka
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
lled3
Kod
<script type="text/javascript">

var akcja;
var x, y;

function pozycja(e)
{
    akcja = 1;

    x = e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft);
    y = e.clientY+(document.documentElement.scrollTop||document.body.scrollTop);

    document.getElementById('x').innerHTML=x;
    document.getElementById('y').innerHTML=y;
}

function przesuwanie(e)
{
    var x2, y2;

    if( akcja == 1 )
    {
        x2 = e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft);
        y2 = e.clientY+(document.documentElement.scrollTop||document.body.scrollTop);

        document.body.scrollLeft = x+(x2-x);
        document.body.scrollTop = y+(y2-y);



        document.getElementById('x').innerHTML=x2;
        document.getElementById('y').innerHTML=y2;
    }
}

</script>

<div style="position:fixed"><b>x</b><div id="x">0</div><br /><b>y</b><div id="y">0</div></div>

<img src="./a.gif" style="top:100px;left:120px;position:relative" />


<img src="./mappa.png" onMouseDown="pozycja(event)" onMouseMove="przesuwanie(event)" onMouseUp="akcja=0" />


napisałem taki kod - który miał by przesuwać obrazek po ekranie - po kliknieciu na niego mysza i przesuwaniu jej. Ale sa dwa problemy:
- po kliknieciu pokazuje sie zakaz - ze nie mozna przesuwac obrazka - i całość działa średnio ... puszczam klawisz a przegladarka interpretujja jak by wciaz byl wcisniety
- samo przesuwanie jakos nie dziala jak powinno ...
slammer
jakoś dziwacznie masz to wszystko zrobione... nigdzie nie sprawdzasz stanu zdarzenia. Nie usuwasz, ani nie tworzysz dynamicznie.

ftp://ftp.helion.pl/przyklady/jszapr.zip

pobierz ten plik zajrzyj na rozdział 13 drag&drop... myślę, że prostszych przykładów nie znajdziesz.

Na moje oko ten skrypt nie ma prawa działać. Na jakiej zasadzie miałoby się odbywać przesuwanie elementu? Na ogół robi się to za pomocą np.:
  1. oDiv.style.left = oEvent.clientX;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.