Je jednoduchšie niečo zobrať a položiť, ako písať, čo si treba vziať a kam to dať. Samozrejme, bez myši alebo podobného zariadenia nemôžete nič vybrať ani špecifikovať, ale aj v súčasnom stave vecí je používanie myšlienky drag and drop veľmi prirodzené a pohodlné.
Náplňou myšlienky nie sú len internetové obchody, digitálne knižnice, vyhľadávanie resp Informačné systémy, ale aj aplikovanej oblasti. Myšlienka je veľmi použiteľná pri vývoji stránok a ich prvkov, vytváraných a udržiavaných interaktívne, bez účasti programátora.
Popis myšlienky
Vyberte, presuňte a vložte - myšlienka je prirodzená a pohodlná. Je jednoducho úžasné, že sa nezrodilo, keď sa myš stala nepostrádateľným doplnkom počítača.
Najzrejmejším príkladom je výber produktu v internetovom obchode. Vyberte požadovaný produkt pomocou myši a presuňte ho do nákupného košíka - jednoducho, prirodzene a pohodlne. Nahranie súboru: Praktickým nápadom je aj vytiahnutie dokumentu mimo okna prehliadača a jeho umiestnenie na prvok stránky, čím sa spustí prenos dokumentu na server.
Pre vývojárov je myšlienka „drag and drop“ manipulácia s prvkami stránky bez manuálneho prepočítavania súradníc a veľkostí značiek, možnosť vybrať viacero prvkov a zarovnať ich a presúvať strany značiek bloku.
HTML a CSS - skvelé jazyky popisy značiek a ich štýlov dizajnu, ale keď má vývojár možnosť interaktívne manipulovať s prvkami stránky bez manuálneho prepočítavania súradníc a veľkostí, práca je tým pohodlnejšia a efektívnejšia.
Jednoduchý prenos súborov
„Drag and drop“: preklad z angličtiny do ruštiny doslova znie ako „drag and drop“. V praxi to znie a funguje lepšie: vybral, preniesol a pustil - jednoducho a prirodzene.
Implementácia prenosu súborov na stránke na stránku, na server alebo na iné použitie je veľmi jednoduchá.
V tomto príklade bolo pomocou myši vybratých niekoľko súborov na pracovnej ploche (obrázok vľavo). Pri výbere sa stlačilo ľavé tlačidlo myši a vybraný "išiel" do košíka. Samotný prehliadač ukázal, ako sa to deje, napísal „kópiu“ a vytvoril obrysy presúvaných súborov.
Keď bol myšou nad košíkom, návštevník pustil ľavé tlačidlo myši, prebehla udalosť drag and drop a na stránke webu (spodný obrázok) bol kód JavaScript schopný prijať a spracovať všetky súbory, ktoré návštevník poskytol stránku (web).
Popis implementácie
Kód, ktorý vykonáva tento postup, je veľmi jednoduchý. Dokonca aj začínajúci vývojár to môže zopakovať v akýchkoľvek prípadoch použitia.
Používateľské rozhranie je tu reprezentované dvoma značkami: scPlaceFile (toto je samotný košík, kam chcete vkladať súbory) a scPlaceFiles (toto je výsledok spracovania súborov, v tomto prípade ich zoznamu).
Logika stránky je nasledovná. Po načítaní stránky v prehliadači je v košíku priradený obslužný program udalosti "ondrop" - vložte, zvyšok udalostí je zablokovaný a nepoužíva sa.
Stránka funguje normálne, no akonáhle návštevník vyberie súbor (súbory) a pretiahne ich na obrázok košíka, teda na značku scPlaceFile, spracuje sa udalosť „files dorazili“.
Tento obslužný program jednoducho zobrazí zoznam súborov. Ich počet je v event.dataTransfer.files.length a informácie o každom súbore sú v event.dataTransfer.files[i].name. Čo robiť s prijatými údajmi, určuje vývojár, v tomto prípade sa jednoducho vytvorí zoznam prijatých súborov.
Po spracovaní sa udalosť zablokuje a nebude sa šíriť. Je to potrebné, aby sa prehliadač nezapájal do amatérskych aktivít a nezasahoval do spracovania prijatých informácií.
DnD a externé údaje
Nahrávanie obrázkov na server pomocou funkcie „drag and drop“ je v tejto technológii bežnou praxou. Vývojár zvyčajne vytvorí formulár na nahranie súboru (1), ktorý funguje obvyklým spôsobom (2). Návštevník môže normálny režim vyberte súbory a nahrajte ich.
Ak však návštevník potiahne myšou na určité miesto vo formulári, pole názvu súboru (súborov) sa vyplní automaticky.
Toto dobré rozhodnutie. Je samozrejme veľmi ťažké priznať, že na počítači nie je myš. Ale je lepšie vyvíjať používateľské rozhranie obvyklým spôsobom a v implementácii DnD.
DnD a interné údaje
Starostlivosť o záujmy návštevníka je vždy dôležitá, ale dôležité sú aj obavy developera. „Drag and drop“ môžete implementovať nielen štandardnými prostriedkami, ale aj spracovaním udalostí myši na prvkoch stránky.
Úloha vypočítať hodnoty súradníc značiek a ich veľkosti neustále vyvstáva. Manuálny výpočet je dobrou praxou, ale interaktívna možnosť je pohodlnejšia. Všetky značky majú vždy obdĺžnikový tvar a sledovaním udalostí myši na stranách prvkov môžete vytvoriť možnosť automaticky presúvať prvky na správne miesto na stránke alebo ich meniť.
Spracovanie udalosti kliknutia tlačidla myši – zapamätanie súradníc miesta kliknutia, napríklad jednej zo strán prvku. Pohybujte myšou - strana sa pohybuje v požadovanom smere. Uvoľnenie tlačidla myši - strana sa zastaví a jej súradnice sa zmenia. Týmto spôsobom môžete zmeniť polohu prvku alebo jeho veľkosť.
Nie je to formálne drag and drop, ale efekt je podobný a praktický. Vytvorením univerzálnych ovládačov pre akýkoľvek prvok stránky môžete získať dobrý interaktívny výsledok, urýchliť vývoj a zjednodušiť kód.
Vizuálne a manuálne programovanie
Myš na počítači a prsty na smartfóne sú úplne odlišné prístupy k implementácii používateľského rozhrania (návštevník, vývojár). Je to úplne prirodzená a moderná požiadavka na kompatibilitu medzi prehliadačmi.
To všetko spolu sťažuje vytváranie stránok, ale aplikovanie myšlienky presunutia myšou štandardná forma, pomocou jeho udalostí, kombinujúc túto myšlienku s obvyklými udalosťami na prvkoch, môžete implementovať mechanizmus, v ktorom sa vytvorenie stránky uskutoční vizuálne.
Teraz sa pozrime na výber prvku alebo prvkov. Fakt výberu - vzhľad kontextového menu, cieľom je napríklad zarovnať vybrané (vľavo, vpravo, na stred), alebo rozmiestniť prvky vertikálne alebo horizontálne rovnakým krokom, prípadne zmeniť ich veľkosť (minimum, maximum).
Automatický prepočet súradníc a rozmerov je vhodnejší ako manuálny. Menej chýb – cieľ sa dosiahne rýchlejšie. Okrem toho môžete urobiť stránku v jednom prehliadači, uložiť pozíciu a veľkosť prvkov. Otvorením tejto stránky na smartfóne môžete opraviť súradnice a rozmery a zapamätať si ich konkrétny model verzia smartfónu alebo prehliadača.
Takže tá istá stránka bez manuálneho súladu s požiadavkou na kompatibilitu medzi prehliadačmi bude mať odlišné údaje na zobrazenie rôzne zariadenia a v rôznych prehliadačoch.
Ak umožníte návštevníkovi vykonávať tieto postupy samostatne a zároveň si vyberiete potrebné prvky stránky spomedzi prvkov poskytnutých vývojárom, je možné zabezpečiť kompatibilitu medzi prehliadačmi a požadovanú funkčnosť stránky s prihliadnutím na názor užívateľa.
Funkcia Drag and Drop môže pomôcť zvýšiť výkon vášho iPadu. Tu je návod, ako ho môžete použiť.
Takže môžete presunúť súbor z jednej cloudovej úložiska do druhej, skopírovať text zo Safari do aplikácie na úpravu textu a pridať cenovú ponuku alebo vytvoriť zálohovanie určité fotografie v aplikácii na ukladanie súborov.
Ako presúvať fotografie, súbory a text
1. Dotknite sa a podržte fotografiu, súbor alebo zvýraznený text, ktorý chcete presunúť do inej aplikácie.
2. Presuňte prvok na požadované miesto túto aplikáciu alebo iný, ktorý máte otvorený v Slide Over alebo Split View a uvoľnite.
Ako presunúť myšou viacero fotografií alebo súborov naraz
1. Dotknite sa a podržte jednu z fotografií alebo súborov, ktoré chcete presunúť.
2. Počas presúvania aktuálnej položky klepnite na inú fotografiu alebo súbor, ktorý chcete tiež presunúť. Urobte to znova s toľkými prvkami, koľko chcete presunúť.
3. Potiahnite všetky vybraté objekty na určené miesto v inej aplikácii, ktorú máte otvorenú v Slide Over alebo Split View, a uvoľnite ich.
Ako pretiahnuť text z jednej aplikácie do druhej
1. Klepnutím a podržaním časti textu, ktorú chcete potiahnuť, ju vyberte.
2. Pomocou výberových bodov zvýraznite zvyšok textu, ktorý chcete presunúť.
3. Stlačte a podržte vybraný text.
4. Presuňte text do aplikácie, kam ho chcete umiestniť, a uvoľnite ho.
Ako zmeniť polohu ikon niekoľkých aplikácií naraz pomocou "Drag and Drop"
Zatiaľ čo väčšina funkcií drag and drop pre iOS funguje iba na iPade, tento trik v skutočnosti funguje na iPhone aj iPade. To vám umožňuje organizovať umiestnenie aplikácií na domovskej obrazovke pomocou « Drag and Drop“ namiesto presúvania po jednom.
1. Dotknite sa a podržte ikonu aplikácie, ktorej umiestnenie chcete na domovskej obrazovke zmeniť.
2. Klepnite na ďalšie aplikácie, ktoré chcete tiež presunúť.
3. Presuňte tieto aplikácie na stránku alebo priečinok, kde ich chcete mať, a pustite ich.
182
V tomto príklade vyberieme prvok div a sprístupníme ho tak, že ho vyvoláme metóda draggable().. Ako je znázornené na obrázku nižšie, prvok v otvorenom dokumente zaujme svoju obvyklú pozíciu, ale potom ho možno presunúť pomocou ukazovateľa myši na ľubovoľné miesto v okne prehliadača:
Funkcia drag and drop je užitočná sama o sebe, ale ešte užitočnejšia je, keď sa používa v spojení s interakciou s možnosťou pustenia, ktorá je popísaná ďalej.
Interakcia s možnosťou presúvania je implementovaná výlučne pomocou špecifických značiek HTML a štýlov CSS. To znamená, že táto funkcia bude fungovať takmer v akomkoľvek prehliadači, ale prvky, ktoré sú ňou vybavené, nebudú schopné pracovať s podobnými natívnymi funkciami drag-and-drop. operačné systémy.
Operácie drag-and-drop definované špecifikáciou HTML5 sa zvyčajne implementujú pomocou mechanizmov natívneho operačného systému. Ak používate mechanizmus presúvania myšou v používateľskom rozhraní jQuery, je najlepšie vypnúť ekvivalenty HTML5, aby ste predišli konfliktom. Ak to chcete urobiť, nastavte atribút draggable prvku tela dokumentu na hodnotu false.
Prispôsobenie preťahovateľnej interakcie
Existuje veľa možností prispôsobenia interakcie s možnosťou presúvania. Najdôležitejšie vlastnosti uvedené v nasledujúcich častiach sú zhrnuté v tabuľke nižšie:
Nehnuteľnosť | Popis |
---|---|
os | Obmedzuje pohyb v určitých smeroch. Predvolená hodnota je false, čo znamená žiadne obmedzenia, ale môžete zadať aj hodnotu „x“ (pohybovať sa iba pozdĺž osi x) alebo „y“ (pohybovať sa iba pozdĺž osi y) |
zadržiavanie | Obmedzuje umiestnenie plávajúceho prvku na konkrétnu oblasť obrazovky. Podporované typy hodnôt sú popísané v tabuľke nižšie s príslušným príkladom. Predvolená hodnota je false, to znamená žiadne obmedzenia |
meškanie | Určuje, koľko času musí byť prvok ťahaný, kým sa presunie. Predvolená hodnota je 0, čo znamená žiadne oneskorenie |
vzdialenosť | Určuje vzdialenosť, o ktorú musí používateľ potiahnuť prvok z jeho počiatočnej polohy, než sa skutočne presunie. Predvolená hodnota je 1 pixel |
mriežka | Vynúti väzbu presunutého prvku na bunky mriežky. Predvolená hodnota je false, čo znamená žiadnu väzbu |
Obmedzenie smerov pohybu
Existuje niekoľko spôsobov, ako môžete obmedziť pohyb prvku do určitých smerov. Prvým z nich je použitie možnosti osi, ktorá umožňuje obmedziť smer pohybu na os X alebo Y. Príklad je uvedený nižšie:
...