Lakše je nešto uzeti i staviti nego pisati šta treba da uzmeš i gde da staviš. Naravno, bez miša, ili sličnog uređaja, ne možete ništa odabrati ili specificirati, ali čak i u trenutnom stanju stvari, korištenje drag and drop ideje je vrlo prirodno i udobno.
Opseg ideje nisu samo online prodavnice, digitalne biblioteke, pretraga odn informacioni sistemi, ali i primijenjenu oblast. Ideja je vrlo primenljiva u razvoju sajtova i njihovih elemenata, kreiranih i održavanih interaktivno, bez učešća programera.
Opis ideje
Odaberite, premjestite i postavite - ideja je prirodna i zgodna. Prosto je nevjerovatno da nije nastao kada je miš postao nezamjenjiv dodatak za kompjuter.
Najočitiji primjer je odabir proizvoda u online trgovini. Odaberite željeni proizvod mišem i prevucite ga u korpu za kupovinu - jednostavno, prirodno i povoljno. Učitavanje datoteke: Iznošenje dokumenta izvan prozora pretraživača i postavljanje na element stranice, čime se pokreće prijenos dokumenta na server, također je praktična ideja.
Za programera, ideja "drag and drop" je manipulacija elementima stranice bez ručnog ponovnog izračunavanja koordinata i veličina oznaka, mogućnost odabira više elemenata i njihovog poravnanja, te pomicanja stranica blok oznaka.
HTML i CSS - sjajni jezici opise oznaka i njihovih stilova dizajna, ali kada programer ima mogućnost da interaktivno manipuliše elementima stranice bez ručnog ponovnog izračunavanja koordinata i veličina, to čini rad ugodnijim i efikasnijim.
Jednostavan prijenos datoteka
"Povuci i ispusti": prijevod s engleskog na ruski doslovno zvuči kao "povuci i ispusti". U praksi to zvuči i funkcionira bolje: izabrati, prenijeti i pustiti - jednostavno i prirodno.
Implementacija prijenosa datoteka sa stranice na stranicu, na server ili za drugu upotrebu je vrlo jednostavna.
U ovom primjeru, nekoliko datoteka na radnoj površini je odabrano pomoću miša (lijeva slika). Prilikom odabira, pritisnuto je lijevo dugme miša i odabrani je "otišao" u korpu. Sam pretraživač je pokazao kako se to dešava, napisao je nagoveštaj za „kopiranje“ i kreirao obrise datoteka koje se pomeraju.
Kada je miš bio iznad korpe, posetilac je pustio levi taster miša, desio se događaj prevlačenja i ispuštanja i na stranici sajta (donja slika) JavaScript kod je mogao da primi i obradi sve fajlove koje je posetilac pružio stranica (stranica).
Opis implementacije
Kod koji izvodi ovu proceduru je vrlo jednostavan. Čak i početnik programer može to ponoviti u svim slučajevima upotrebe.
Ovdje je korisnički interfejs predstavljen sa dvije oznake: scPlaceFile (ovo je sama korpa u koju želite da stavite datoteke) i scPlaceFiles (ovo je rezultat obrade datoteka, u ovom slučaju njihova lista).
Logika stranice je sljedeća. Kada se stranica učita u pretraživač, rukovalac događaja "ondrop" se dodeljuje u korpu - stavi, ostali događaji se blokiraju i ne koriste.
Stranica radi normalno, ali čim posjetitelj odabere datoteku (fajlove) i prevuče ih na sliku korpe, odnosno u oznaku scPlaceFile, obradiće se događaj „fajlovi su stigli“.
Ovaj obrađivač jednostavno prikazuje listu datoteka. Njihov broj je u event.dataTransfer.files.length, a informacije o svakoj datoteci su u event.dataTransfer.files[i].name. Što učiniti s primljenim podacima određuje programer, u ovom slučaju jednostavno se formira lista primljenih datoteka.
Jednom obrađen, događaj se blokira i ne širi. Ovo je neophodno kako se pretraživač ne bi bavio amaterskim aktivnostima i ne bi ometao obradu primljenih informacija.
DnD i eksterni podaci
Učitavanje slika na server u "drag and drop" je uobičajena praksa u ovoj tehnologiji. Tipično, programer kreira obrazac za otpremanje datoteke (1) koji radi na uobičajeni način (2). Posjetilac može normalan način rada odaberite fajlove i otpremite ih.
Međutim, ako posjetitelj povuče i spusti na određeno mjesto u obrascu, tada će se polje za naziv datoteke (fajlovi) automatski popuniti.
Ovo dobra odluka. Naravno, veoma je teško priznati da na računaru nema miša. Ali bolje je razviti korisnički interfejs na uobičajen način iu DnD implementaciji.
DnD i interni podaci
Briga o interesima posjetitelja uvijek je važna, ali su bitne i brige programera. Možete implementirati "drag and drop" ne samo standardnim sredstvima, već i rukovanjem događajima miša na elementima stranice.
Zadatak izračunavanja vrijednosti koordinata oznake i njihovih veličina javlja se stalno. Ručno izračunavanje je dobra praksa, ali interaktivna opcija je praktičnija. Sve oznake su uvijek pravokutnog oblika, a praćenjem događaja miša na bočnim stranama elemenata, možete kreirati mogućnost automatskog premještanja elemenata na pravo mjesto na stranici ili njihovog mijenjanja.
Rukovanje događajem klika na dugme miša - pamćenje koordinata lokacije klika, na primjer, jedne od strana elementa. Pomicanje miša - strana se pomiče u željenom smjeru. Otpuštanje tipke miša - strana se zaustavlja i njene koordinate se mijenjaju. Na ovaj način možete promijeniti položaj elementa ili njegovu veličinu.
To nije formalno drag and drop, ali efekat je sličan i praktičan. Pravljenjem univerzalnih rukovaoca za bilo koji element stranice, možete dobiti dobar interaktivni rezultat, ubrzati razvoj i pojednostaviti kod.
Vizuelno i ručno programiranje
Miš na računaru i prsti na pametnom telefonu potpuno su različiti pristupi implementaciji korisničkog interfejsa (posetilac, programer). To je potpuno prirodan i moderan zahtjev za kompatibilnost među pretraživačima.
Sve ovo zajedno otežava kreiranje stranica, ali primjenom ideje povuci i ispusti u njoj standardni obrazac, koristeći svoje događaje, kombinirajući ovu ideju sa uobičajenim događajima na elementima, možete implementirati mehanizam u kojem će se kreiranje stranice odvijati vizualno.
Pogledajmo sada odabir elementa ili elemenata. Činjenica odabira - izgled kontekstnog menija, na primjer, cilj je poravnati odabrani (lijevo, desno, centar), ili rasporediti elemente vertikalno ili horizontalno sa istim korakom, ili promijeniti njihovu veličinu (minimalna, maksimalna).
Automatsko preračunavanje koordinata i dimenzija je poželjnije od ručnog. Manje grešaka - brže se dolazi do cilja. Osim toga, možete napraviti stranicu u jednom pretraživaču, sačuvati poziciju i veličinu elemenata. Otvaranjem ove stranice na pametnom telefonu možete ispraviti koordinate i dimenzije i zapamtiti ih specifičan model verzija pametnog telefona ili pretraživača.
Dakle, ista stranica bez ručne usklađenosti sa zahtjevom kompatibilnosti među pretraživačima imat će različite podatke za prikaz na razni uređaji i u različitim pretraživačima.
Ako posjetitelju omogućite da samostalno izvrši ove postupke, kao i da odabere potrebne elemente stranice među onima koje je dao programer, moguće je osigurati kompatibilnost među pretraživačima i potrebnu funkcionalnost stranice, uzimajući u obzir mišljenje korisnika.
Funkcija Drag and Drop može pomoći u poboljšanju performansi vašeg iPada. Evo kako ga možete koristiti.
Dakle, možete premjestiti datoteku s jedne usluge pohrane u oblaku na drugu, kopirati tekst iz Safarija u aplikaciju za uređivanje teksta da dodate citat ili kreirate backup određene fotografije u aplikaciji za pohranu datoteka.
Kako prevući i ispustiti fotografije, datoteke i tekst
1. Dodirnite i držite fotografiju, datoteku ili istaknuti tekst koji želite prevući u drugu aplikaciju.
2. Prevucite element na željenu lokaciju ovu aplikaciju ili neki drugi koji ste otvorili u Slide Over ili Split View i otpustite.
Kako prevući i ispustiti više fotografija ili datoteka odjednom
1. Dodirnite i držite jednu od fotografija ili datoteka koje želite da prevučete.
2. Dok prevlačite trenutnu stavku, dodirnite drugu fotografiju ili datoteku koju takođe želite da prevučete. Uradite to ponovo sa onoliko elemenata koliko želite da pomerite.
3. Prevucite sve odabrane objekte na određeno mjesto u drugoj aplikaciji koju ste otvorili u prikazu Slide Over ili Split View i otpustite ih.
Kako prevući tekst iz jedne aplikacije u drugu
1. Dodirnite i držite dio teksta koji želite prevući da biste ga odabrali.
2. Koristite tačke odabira da označite ostatak teksta koji želite da prevučete.
3. Pritisnite i držite odabrani tekst.
4. Prevucite tekst u aplikaciju gdje ga želite postaviti i otpustite ga.
Kako promijeniti položaj ikona nekoliko aplikacija odjednom koristeći "Drag and Drop"
Dok većina iOS funkcija prevlačenja i ispuštanja radi samo na iPadu, ovaj trik zapravo radi i na iPhoneu i iPadu. Ovo vam omogućava da organizirate lokaciju aplikacija na početnom ekranu pomoću « Povucite i ispustite" umjesto da ih pomjerate jednu po jednu.
1. Dodirnite i držite ikonu aplikacije koju želite premjestiti na početnom ekranu.
2. Dodirnite dodatne aplikacije koje također želite premjestiti.
3. Prevucite ove aplikacije na stranicu ili mapu gdje želite da budu i ispustite ih.
182
U ovom primjeru odabiremo div element i činimo ga pokretnim tako što ga pozivamo draggable() metoda. Kao što je prikazano na donjoj slici, u otvorenom dokumentu element zauzima svoj uobičajeni položaj, ali se nakon toga može pomjeriti pokazivačem miša na bilo koje mjesto u prozoru pretraživača:
Funkcija prevlačenja i ispuštanja korisna je sama po sebi, ali je još korisnija kada se koristi u kombinaciji sa interakcijom koja se može ispustiti, koja je opisana u nastavku.
Interakcija koja se može prevući se implementira isključivo upotrebom specifičnih HTML oznaka i CSS stilova. To znači da će ova funkcionalnost raditi u gotovo svakom pretraživaču, ali elementi koji su njome opremljeni neće moći raditi sa sličnim izvornim drag-and-drop objektima. operativni sistemi.
Operacije prevuci i ispusti definisane HTML5 specifikacijom obično se implementiraju korišćenjem mehanizama izvornog operativnog sistema. Ako koristite jQuery UI mehanizam drag-and-drop, najbolje je onemogućiti HTML5 ekvivalente kako biste izbjegli sukobe. Da biste to učinili, postavite atribut koji se može prevući elementa tijela dokumenta na false.
Prilagođavanje interakcije koja se može povući
Postoji mnogo opcija prilagođavanja za interakciju koja se može prevući. Najvažnija svojstva obuhvaćena u sljedećim odjeljcima sažeta su u donjoj tabeli:
Nekretnina | Opis |
---|---|
osa | Ograničava kretanje u određenim smjerovima. Zadana vrijednost je false, što znači da nema ograničenja, ali također možete odrediti vrijednost "x" (kretati se samo duž x-ose) ili "y" (kretati se samo duž y-ose) |
zadržavanje | Ograničava lokaciju plutajućeg elementa na određeno područje ekrana. Podržani tipovi vrijednosti opisani su u donjoj tabeli, s odgovarajućim primjerom. Zadana vrijednost je lažna, što znači da nema ograničenja |
kašnjenje | Određuje koliko vremena element mora biti povučen prije nego što se pomakne. Zadana vrijednost je 0, što znači da nema kašnjenja |
razdaljina | Određuje udaljenost koju korisnik mora povući element sa njegove početne pozicije prije nego što se stvarno pomakne. Zadana vrijednost je 1 piksel |
grid | Prisiljava vezivanje pomaknutog elementa za ćelije mreže. Zadana vrijednost je false, što znači da nema vezivanja |
Ograničenje pravaca kretanja
Postoji nekoliko načina na koje možete ograničiti kretanje elementa u određenim smjerovima. Prvi od njih je korištenje opcije osi, koja vam omogućava da ograničite smjer kretanja na os X ili Y. Primjer je prikazan ispod:
...