A tárgyak mozgása a JavaScript - life-prog

Elem mozgása a Web-oldal változtatásával érjük ingatlan értékének meghatározása koordinátáit.
Módosítása elemet koordinátáit lehet végrehajtani:

  • programozott által szervezett egy ciklikus folyamat;
  • A rendezvény az egér;
  • A „kötés” elemet az egér kurzorral, azaz a elem megadásával koordinátákkal, a koordinátáit a kurzort ravnymy;
  • A billentyűzet eseményeket.

1 Change elem koordináták segítségével ciklikus folyamat

A következő módszerek az objektum ablak lehet használni, hogy megszervezni a ciklikus folyamat.

  • setTimeout ( „funkciót, vagy expressziós” intervallum [listáját függvényargumentumok vesszővel elválasztva]). kiszámítja a kifejezés értékét, vagy meghív egy függvényt a lejártakor egy előre meghatározott intervallumban (ezredmásodpercben), ha mielőtt clearTimeout () módszert nem okozott. továbbítja a meghatározott funkció a paraméterek listája, visszaad egy pointert a tárgy időzítőt, amely felhasználható a clearTimeout () módszer, hogy állítsa le az időzítő és megsemmisítése;
  • clearTimeout (timer). leállítja az időzítőt beállítani setTimeout ();
  • setInterval ( „funkciót, vagy expressziós” intervallum [listáját függvényargumentumok vesszővel elválasztva]). Számítja egy kifejezés értékét vagy meghív egy függvényt, valahányszor a lejárati intervallum (ezredmásodperc), ha mielőtt clearTimeout () metódus nem tartották. továbbítja a meghatározott funkció a paraméterek listája, visszaad egy pointert a tárgy időzítőt, amely felhasználható a clearTimeout () módszer, hogy állítsa le az időzítő és megsemmisítése;
  • clearInterval (timer). leállítja az időzítőt beállítani setInterval ().

Előállítása A setTimeout () tagja szervezni mozgásának № 1. példában látható, ahol a mozgás valósul web-oldal elem - a betűk Z, által meghatározott címke

, mentén pálya formájában egy szinuszgörbe ():



Megváltoztatása az elem koordináták egy ciklikus folyamat



onClick = "moveTxt ()"> Z



Az 1. példában az f (x) végrehajtott tárgy mozgása jobbról balra és fentről lefelé egy szinuszos y = 60sin (x). Amint egy pályagörbe trigometricheskoy funkciók objektum Math, tulajdonságok és módszerek, amelyek 3. szakaszban ismertetett feladat volt használható A transzformálást végzünk függvényjel sin (x) a fokban radiánban. Irányát és sebességét a tárgy nagyságától függ, és jele a lépésekben dx és dy koordinátáit. Sebességgel is befolyásolja azt az időintervallumot, amelyen keresztül a növekmény jelentkezik (a 2. paramétere setTimeout ()).

Kiválasztása az amplitúdó és a mozgás sebességét az 1. példában végzett az egyértelműség érdekében.

Ha rákattint az egérrel a Z betű hivatkoznak moveTxt () függvény, amely végrehajtja a mozgás ezen elemének a böngésző ablak földrajzi helyzetét: left = 0; top = 100 lépésekben a koordináták megadásával annak bal és felső:

amíg ő nem jön közel a határait a böngésző ablakot (a határ nem éri el a Z betű maradt teljes nézet).

Az értékek a bal alsó és a böngésző ablakot határokat tulajdonságai határozzák meg a címkét clientWidth és ClientHeight. Ezeket a tulajdonságokat lehet használni, hogy meghatározza a méretét bármely web-oldal elemei vannak, amelyek szélessége és magassága.
Amikor alternatív módszerek felhasználásával setInterval () és clearInterval () Leírás moveTxt () funkció kell némileg megváltozott:

funkció moveTxt ()
if ((z.style.pixelLeft30))
z.style.left = x + dx;
z.style.top = y + dy-f (x + dx);
dx + = 20;
dy + = 7;
>
mást clearInterval (timer);
>

Ezen túlmenően, a hívás moveTxt () függvény ebben az esetben el kell végezni a következők szerint:

2. Change esemény egér koordinátáit elem

Mozgás web-oldal tárgyakat a képernyőn, kivéve a fenti módszer megváltoztatja a koordinátákat szoftver szervezett ciklikus folyamat, a felhasználó végezhet weboldalán az egérrel.

A változók dx és dy. hogy a változás előjele az ellentétek, illetve, ha a vízszintes vagy függőleges határait a böngésző ablakot, rájött tükrözi referencia, ha mozog az egész képernyőt a határait.

Hívjon runRef () függvény két MouseMove esemény. és abban az esetben Egéráthúzási nagyobb védelmet biztosít a hivatkozások rákattint az egérrel.

Húzása elemek 3

Húzása elemek web-oldal az egérrel valósul hozzárendelésével az aktuális koordináták lefordítható eleme a jelenlegi egér koordinátákat. Hozzáférés az egér koordinátákat alkalmazásával végezhetjük, mint az esemény tulajdonságait objektumot.

  • clientX - visszaadja a vízszintes koordinátáját kurzort kapcsolatban az ügyfél az ablak (ide nem értve a keretek, fejléc, menüsor, instumentov bár és status bar);
  • clientY - visszaadja a függőleges koordinátája az egérkurzor kapcsolatban az ügyfél az ablak (ide nem értve a keretek, fejléc, menüsor, instumentov bár és status bar);
  • offsetX - visszaadja a vízszintes koordinátáját a kurzort képest az oldalelemek amely kiváltotta az eseményt;
  • offsetY - visszaadja a függőleges koordinátája az egérkurzor képest az oldalelemek amely kiváltotta az eseményt;
  • screenX - visszaadja a vízszintes koordinátáját az egérmutatót a képernyőn;
  • Screeny - visszaadja a függőleges koordinátája az egérmutatót a képernyőn;
  • x - visszaadja a vízszintes koordinátáját a kurzort képest a szülő elem;
  • y - visszaadja a függőleges koordinátája az egérkurzor képest a szülő elem.

Példa száma 3 létrehoz egy Web-site tartalmazó három elem - a rajz és a két szó: „TEXT” az azonos méretű, de különböző színekben.



Húzása egy web-oldal elemeit


onContextmenu = "ha (l == 2) L = 0; mást l ++; return false"
onMouseMove = "drag ()">

A tárgyak mozgása a JavaScript - life-prog

text1

text2


Ha rákattint az egérrel bármelyik ezeket a tárgyakat (Event Click) a jelölt objektum van beállítva drag mód: változó n rögzített sorszámmal ezen elemének web-oldal, például a rajz: n = 5, az első szöveg: n = 6 második: n = 7 (amikor a felhasználó rákattint a szabad hely böngésző ablak n van beállítva, hogy 4 - BODY tag szám).

Drag Mode jelölt objektum által végrehajtott hívás közben az egér mozgatásával (a MouseMove esemény) húzás () függvény, amely a következőket teszi:

  • beállítja az n szám az objektum az abszolút pozicionálás;
  • hozzárendeli a vízszintes és függőleges koordinátáit a tárgy, illetve a vízszintes és függőleges koordináta myshkki mutatót, amely lehetővé teszi, hogy mozog egy mozgó kar;
  • beállítja az aktuális érték az objektum z-index. beállítva a változó l.

Amikor a jobb egérgombbal (a ContextMenu esemény) változik ciklikusan változó értékét l (0,1,2,0.), Beállítja az aktuális értékét a z-index. amely lehetővé teszi minden olyan tárgy beállított megfelelő érték, illetve átfedés más folyamatok elemzése web-oldal, vagy alul helyezkedik el.

Törléséhez húzza a megjelölt tárgy újra kell Upon kattintva az egérrel. Ebben az esetben az n változó szám már belépett egy új objektum - az, aki rákattint az idő alatt volt húzott objektum. Ez annak a ténynek köszönhető, hogy a mozgás során koordinálja az egérmutatót a pixel objektum koordinátáinak előre. Ebben az esetben az új objektum van beállítva drag módban (kivéve, ha a tárgy nem a BODY tag).