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 ():
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.pixelLeft
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.
onContextmenu = "ha (l == 2) L = 0; mást l ++; return false"
onMouseMove = "drag ()">
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).