Nejjednodušší je něco vzít a dát to, než psát, co vzít a kam to dát. Samozřejmě bez myši nebo podobného zařízení nic nevyberete a nic nenaznačíte, ale i za současného stavu věcí je využití myšlenky „drag and drop“ velmi přirozené a pohodlné.
Záběrem nápadu nejsou zdaleka jen internetové obchody, elektronické knihovny, vyhledávače popř Informační systémy, ale i aplikovaná sféra. Myšlenka je velmi použitelná při vývoji stránek a jejich prvků, vytvářených a udržovaných interaktivně, bez účasti programátora.
Popis myšlenky
Vyberte, přesuňte a umístěte - nápad je přirozený a pohodlný. Je úžasné, že se nezrodilo, když se myš stala nepostradatelným doplňkem počítače.
Nejviditelnějším příkladem je výběr produktu v internetovém obchodě. Vzít požadovaný produkt pomocí myši a přetáhnout jej do nákupního košíku je jednoduché, přirozené a pohodlné. Nahrávání souborů: Praktickým nápadem je také vzít dokument mimo okno prohlížeče a umístit jej na prvek stránky, čímž se spustí přenos dokumentu na server.
Pro vývojáře je myšlenka „drag and drop“ manipulace s prvky stránky bez ručního přepočítávání souřadnic a velikostí značek, možnost vybrat několik prvků a zarovnat je, stejně jako posouvat strany blokových značek.
HTML a CSS - skvělé jazyky popisy značek a styly jejich designu, ale když má vývojář možnost interaktivně manipulovat s prvky stránky bez ručního přepočítávání souřadnic a velikostí, je práce pohodlnější a efektivnější.
Snadný přenos souborů
„Drag and drop“: překlad z angličtiny do ruštiny zní doslova „drag and drop“. V praxi to zní a funguje lépe: vybrat, přenést a uvolnit – jednoduše a přirozeně.
Je velmi jednoduché implementovat na stránku přenos souborů na stránku, na server nebo pro jiné použití.
V tomto příkladu bylo pomocí myši vybráno několik souborů na ploše (obrázek vlevo). Na výběru bylo stisknuto levé tlačítko myši a vybraný "šel" do košíku. Prohlížeč sám ukázal, jak se to děje, napsal nápovědu „kopie“ a vytvořil obrysy souborů, které se mají přesouvat.
Když byla myš nad košíkem, návštěvník uvolnil levé tlačítko myši, došlo k akci přetažení a na stránce webu (dolní obrázek) byl kód JavaScriptu schopen přijmout a zpracovat všechny soubory, které návštěvník poskytnutý stránce (webu).
Popis realizace
Kód, který tento postup provádí, je velmi jednoduchý. Dokonce i začínající vývojář to může zopakovat v jakémkoli případě použití.
Uživatelské rozhraní je zde reprezentováno dvěma tagy: scPlaceFile (to je samotný košík, kam je potřeba vkládat soubory) a scPlaceFiles (to je výsledek zpracování souborů, v tomto případě jejich seznamu).
Logika stránky je následující. Po načtení stránky v prohlížeči je v košíku přiřazen obslužný program události „ondrop“ - ostatní události jsou blokovány a nepoužívají se.
Stránka funguje normálně, ale jakmile návštěvník vybere soubor (y) a přetáhne je na obrázek košíku, tedy na tag scPlaceFile, spustí se zpracování události "files added".
Tento obslužný program jednoduše zobrazí seznam souborů. Jejich počet je v event.dataTransfer.files.length a informace o každém souboru jsou v event.dataTransfer.files [i] .name. Co dělat s přijatými daty určuje vývojář, v tomto případě se jednoduše vytvoří seznam přijatých souborů.
Po zpracování je událost zablokována a není šířena. To je nezbytné, aby prohlížeč nebyl samostatně výdělečně činný a nezasahoval do zpracování obdržených informací.
DnD a externí data
Nahrávání obrázků na server pomocí drag and drop je běžnou praxí této technologie. Vývojář obvykle vytvoří formulář pro nahrání souboru (1), který funguje obvyklým způsobem (2). Návštěvník může vstoupit normální mód vyberte soubory a nahrajte je.
Pokud však návštěvník provede „drag and drop“ na určité místo ve formuláři, pole názvu souboru (souborů) se automaticky vyplní.
to dobré rozhodnutí... Je samozřejmě velmi těžké přiznat, že na počítači není myš. Ale je lepší navrhnout uživatelské rozhraní běžným způsobem a v implementaci DnD.
DnD a interní data
Péče o zájmy návštěvníka je vždy důležitá, ale důležité jsou i obavy developerů. Drag and drop lze implementovat nejen standardními prostředky, ale také zpracováním událostí myši na prvcích stránky.
Úkol vypočítat hodnoty souřadnic značek a jejich velikostí neustále vyvstává. Ruční výpočet je dobrou praxí, ale interaktivní možnost je pohodlnější. Všechny značky jsou vždy obdélníkové a sledováním událostí myši po stranách prvků můžete vytvořit možnost automaticky přesouvat prvky na požadované místo na stránce nebo je měnit.
Zpracování události kliknutí na tlačítko myši - zapamatování souřadnic místa kliknutí, například jedné ze stran prvku. Pohybujte myší - strana se pohybuje požadovaným směrem. Uvolnění tlačítka myši - strana se zastaví a její souřadnice se změní. Tímto způsobem můžete změnit polohu prvku nebo jeho velikost.
Toto není formálně "drag and drop", ale efekt je podobný a praktický. Vytvořením univerzálních ovladačů pro jakýkoli prvek stránky můžete získat dobré interaktivní výsledky, urychlit vývoj a zjednodušit svůj kód.
Vizuální a ruční programování
Myš na počítači a prsty na smartphonu jsou zcela odlišné přístupy k implementaci uživatelského rozhraní (návštěvník, vývojář). To je přirozený a moderní požadavek na kompatibilitu mezi různými prohlížeči.
To vše dohromady ztěžuje vytváření stránek, ale uplatnění myšlenky „drag and drop“ v něm standardní forma pomocí jeho událostí, kombinováním této myšlenky s běžnými událostmi na prvcích, můžete implementovat mechanismus, ve kterém bude tvorba stránky probíhat vizuálně.
Nyní se podívejme na výběr položky nebo položek. Faktem výběru je vzhled kontextového menu, například cílem je zarovnat vybrané (vlevo, vpravo, na střed) nebo rozmístit prvky svisle nebo vodorovně se stejným krokem nebo změnit jejich velikosti (minimální, maximální) .
Automatický přepočet souřadnic a rozměrů je vhodnější než ruční přepočet. Méně chyb – cíle je dosaženo rychleji. Kromě toho můžete vytvořit stránku v jednom prohlížeči, uložit pozici a velikost prvků. Po otevření této stránky na smartphonu můžete opravit hodnoty souřadnic a rozměrů a zapamatovat si je konkrétní model verzi smartphonu nebo prohlížeče.
Takže stejná stránka bez ručního souladu s požadavkem pro různé prohlížeče bude mít různá data k zobrazení různá zařízení a v různých prohlížečích.
Pokud návštěvníkovi umožníte provádět tyto postupy samostatně a zároveň vyberete požadované prvky stránky z prvků poskytnutých vývojářem, můžete zajistit kompatibilitu mezi prohlížeči a požadovanou funkčnost stránky s přihlédnutím k názoru uživatele. .
Drag and Drop může pomoci zvýšit výkon vašeho iPadu. Zde je návod, jak jej můžete použít.
Můžete tedy přesunout soubor z jedné služby cloudového úložiště do druhé, zkopírovat text ze Safari do aplikace pro úpravu textu a přidat nabídku nebo vytvořit záloha určité fotografie v aplikaci pro ukládání souborů.
Jak přetahovat fotografie, soubory a text
1. Dotkněte se a podržte fotografii, soubor nebo zvýrazněný text, který chcete přetáhnout do jiné aplikace.
2. Přetáhněte položku na požadované místo tato příloha nebo jiný, který jste otevřeli v Slide Over nebo Split View, a uvolněte.
Jak přetáhnout více fotografií nebo souborů současně
1. Dotkněte se a podržte jednu z fotografií nebo souborů, které chcete přetáhnout.
2. Při přetahování aktuální položky klepněte na jinou fotografii nebo soubor, který chcete také přetáhnout. Udělejte to znovu s tolika předměty, kolik chcete přesunout.
3. Přetáhněte všechny vybrané objekty na určené místo v jiné aplikaci, kterou jste otevřeli v Slide Over nebo Split View, a uvolněte je.
Jak přetahovat text z jedné aplikace do druhé
1. Dotkněte se a podržte část textu, kterou chcete přetáhnout, a vyberte ji.
2. Pomocí výběrových bodů vyberte zbytek textu, který chcete přetáhnout.
3. Stiskněte a podržte zvýrazněný text.
4. Přetáhněte text do aplikace, kam jej chcete umístit, a uvolněte jej.
Jak změnit uspořádání ikon několika aplikací najednou pomocí "Drag and Drop"
Zatímco většina funkcí přetažení v systému iOS funguje pouze na iPadu, tento trik ve skutečnosti funguje na iPhonu i iPadu. To vám umožní organizovat uspořádání aplikací na domovské obrazovce pomocí « Drag and Drop “místo přesouvání po jednom.
1. Stiskněte a podržte ikonu aplikace, kterou chcete změnit na domovské obrazovce.
2. Klepněte na další aplikace, které chcete také přesunout.
3. Přetáhněte tyto aplikace na stránku nebo složku, kde je chcete mít, a uvolněte je.
182
V tomto příkladu vybereme prvek div a vyvoláme jej plovoucí přetahovací () metoda... Jak je znázorněno na obrázku níže, prvek v otevřeném dokumentu zaujme svou normální pozici, ale poté jej lze přesunout ukazatelem myši na libovolné místo v okně prohlížeče:
Funkce drag-and-drop je užitečná sama o sobě, ale ještě užitečnější je při použití ve spojení s interakcí Droppable, která je popsána níže.
Interakce Draggable je implementována výhradně pomocí specifických značek HTML a stylů CSS. To znamená, že tato funkcionalita bude fungovat téměř v jakémkoli prohlížeči, ale prvky jí obdařené nebudou moci fungovat s podobnými nativními nástroji přetahování. operační systémy.
Operace drag-and-drop definované specifikací HTML5 jsou obvykle implementovány pomocí nativních mechanismů operačních systémů. Pokud používáte mechanismus jQuery UI Drag-and-drop, je nejlepší zakázat ekvivalentní funkce HTML5, abyste předešli konfliktům. Za tímto účelem nastavte atribut draggable prvku těla dokumentu na hodnotu false.
Konfigurace přetahovatelné interakce
Existuje mnoho možností přizpůsobení pro interakci s možností přetažení. Nejdůležitější vlastnosti, které jsou diskutovány v následujících částech, jsou uvedeny v tabulce níže:
Vlastnictví | Popis |
---|---|
osa | Omezuje pohyb do konkrétních směrů. Výchozí hodnota je false, což znamená žádná omezení, ale můžete také zadat „x“ (pohyb pouze podél osy X) nebo „y“ (pohyb pouze podél osy Y). |
zadržování | Omezí polohu plovoucího prvku na určitou oblast obrazovky. Typy podporovaných hodnot jsou popsány v tabulce níže pomocí odpovídajícího příkladu. Výchozí hodnota je false, což znamená žádná omezení |
zpoždění | Určuje, jak dlouho musí být prvek tažen, než se přesune. Výchozí hodnota je 0, což znamená žádné zpoždění |
vzdálenost | Určuje vzdálenost, o kterou musí uživatel přetáhnout prvek z jeho výchozí pozice, než se skutečně přesune. Výchozí hodnota je 1 pixel |
mřížka | Vynutí přichycení přesunutého prvku k buňkám mřížky. Výchozí hodnota je false, což znamená bez vazby |
Omezující směry pohybu
Existuje několik způsobů, jak můžete omezit pohyb prvku do určitých směrů. První je použití možnosti osy k omezení směru pohybu na osu X nebo Y. Příklad je uveden níže:
...