Lihtsam on midagi võtta ja panna, kui kirjutada, mida võtta ja kuhu panna. Loomulikult ei saa ilma hiire või sarnase seadmeta midagi valida ega määrata, kuid isegi praeguses olukorras on pukseerimise idee kasutamine väga loomulik ja mugav.
Idee ulatus ei ole ainult veebipoed, digiraamatukogud, otsing või Infosüsteemid, aga ka rakendusala. Idee on väga rakendatav interaktiivselt, ilma programmeerija osaluseta loodud ja hooldatud saitide ja nende elementide arendamisel.
Idee kirjeldus
Vali, liiguta ja pane – idee on loomulik ja mugav. On lihtsalt hämmastav, et see ei sündinud siis, kui hiirest sai arvuti asendamatu tarvik.
Kõige ilmekam näide on toote valimine veebipoes. Valige hiirega soovitud toode ja lohistage see ostukorvi – lihtsalt, loomulikult ja mugavalt. Faili üleslaadimine: praktiline idee on ka dokumendi viimine brauseriaknast väljapoole ja leheelemendile paigutamine, alustades seeläbi dokumendi edastamist serverisse.
Arendaja jaoks on "lohistamise" idee lehe elementidega manipuleerimine ilma siltide koordinaatide ja suuruste käsitsi ümber arvutamiseta, võimalus valida mitu elementi ja joondada ning liigutada plokkide siltide külgi.
HTML ja CSS - suurepärased keeled siltide ja nende kujundusstiilide kirjeldused, kuid kui arendajal on võimalus lehe elemente interaktiivselt manipuleerida ilma koordinaate ja suurusi käsitsi ümber arvutamata, muudab see töö mugavamaks ja tõhusamaks.
Lihtne failiedastus
"Drag and drop": tõlge inglise keelest vene keelde kõlab sõna otseses mõttes nagu "drag and drop". Praktikas kõlab ja töötab see paremini: vali, vii üle ja lase lahti – lihtsalt ja loomulikult.
Failide edastamine lehel lehele, serverisse või muuks otstarbeks on väga lihtne.
Selles näites valiti hiirega mitu faili töölaual (vasakpoolne joonis). Valiku peal vajutati hiire vasakut nuppu ja valitud "läks" korvi. Brauser ise näitas, kuidas see juhtub, kirjutas "koopia" vihje ja lõi teisaldatavate failide piirjooned.
Kui hiir oli ostukorvi kohal, vabastas külastaja hiire vasaku nupu, toimus lohistamise sündmus ning saidi lehel (alumisel pildil) suutis JavaScripti kood vastu võtta ja töödelda kõiki külastaja esitatud faile. lehele (saidile).
Rakenduse kirjeldus
Seda protseduuri teostav kood on väga lihtne. Isegi algaja arendaja võib seda igal kasutusjuhul korrata.
Siin on kasutajaliidest esindatud kahe sildi abil: scPlaceFile (see on korv ise, kuhu soovite failid panna) ja scPlaceFiles (see on failide töötlemise tulemus, antud juhul nende loend).
Lehe loogika on järgmine. Kui leht laaditakse brauserisse, määratakse "ondrop" sündmuste töötleja ostukorvi - ülejäänud sündmused blokeeritakse ja neid ei kasutata.
Leht töötab normaalselt, kuid niipea, kui külastaja valib faili(d) ja lohistab need ostukorvi pildile ehk scPlaceFile sildi juurde, hakatakse "failid on saabunud" sündmust töötlema.
See töötleja kuvab lihtsalt failide loendi. Nende number on failis event.dataTransfer.files.length ja teave iga faili kohta on failis event.dataTransfer.files[i].name. Mida vastuvõetud andmetega teha, määrab arendaja, sel juhul moodustatakse lihtsalt vastuvõetud failide loend.
Pärast töötlemist sündmus blokeeritakse ja seda ei levitata. See on vajalik selleks, et brauser ei tegeleks amatöörtegevusega ega segaks saadud teabe töötlemist.
DnD ja välisandmed
Piltide üleslaadimine serverisse "pukseerimisega" on selle tehnoloogia puhul tavaline praktika. Tavaliselt loob arendaja faili üleslaadimise vormi (1), mis töötab tavapärasel viisil (2). Külastaja saab tavaline mood valige failid ja laadige need üles.
Kui aga külastaja lohistab ja kukub vormis kindlasse kohta, siis failinime väli (failid) täidetakse automaatselt.
See on hea otsus. Seda, et arvutis hiirt pole, on muidugi väga raske tunnistada. Kuid parem on arendada kasutajaliidest tavapärasel viisil ja DnD-rakenduses.
DnD ja siseandmed
Külastaja huvide eest hoolitsemine on alati oluline, kuid oluline on ka arendaja mure. Pukseerimist saate rakendada mitte ainult tavaliste vahenditega, vaid ka lehe elementide hiiresündmuste käsitlemisega.
Sildi koordinaatide väärtuste ja nende suuruste arvutamise ülesanne tekib pidevalt. Käsitsi arvutamine on hea tava, kuid interaktiivne valik on mugavam. Kõik sildid on alati ristkülikukujulised ning elementide külgedel olevaid hiiresündmusi jälgides saate luua võimaluse elemente automaatselt lehel õigesse kohta teisaldada või neid muuta.
Hiirenupu klõpsamise sündmuse käsitlemine - klõpsu asukoha koordinaatide meeldejätmine, näiteks elemendi üks külg. Liigutage hiirt - külg liigub soovitud suunas. Hiirenupu vabastamine - külg peatub ja selle koordinaadid muutuvad. Nii saate muuta elemendi asukohta või selle suurust.
See ei ole formaalselt lohistamine, kuid efekt on sarnane ja praktiline. Tehes mistahes leheelemendile universaalsed töötlejad, saad hea interaktiivse tulemuse, kiirendad arendust ja lihtsustad koodi.
Visuaalne ja manuaalne programmeerimine
Hiir arvutis ja sõrmed nutitelefonis on täiesti erinevad lähenemised kasutajaliidese juurutamisel (külastaja, arendaja). See on brauseritevahelise ühilduvuse täiesti loomulik ja kaasaegne nõue.
Kõik see kokku muudab lehtede loomise keeruliseks, kuid rakendades selles pukseerimise ideed standardvorm, kasutades selle sündmusi, kombineerides seda ideed tavaliste sündmustega elementidel, saate rakendada mehhanismi, milles lehe loomine toimub visuaalselt.
Vaatame nüüd elemendi või elementide valikut. Valiku fakt - kontekstimenüü välimus, näiteks eesmärk on joondada valitud (vasakule, paremale, keskele) või jaotada elemente vertikaalselt või horisontaalselt sama sammuga või muuta nende suurust (minimaalne, maksimaalne).
Koordinaatide ja mõõtmete automaatne ümberarvutamine on eelistatavam kui käsitsi. Vähem vigu – eesmärk saavutatakse kiiremini. Lisaks saate teha lehe ühes brauseris, salvestada elementide asukohta ja suurust. Nutitelefonis selle lehe avades saate koordinaate ja mõõtmeid parandada ning need meelde jätta konkreetne mudel nutitelefoni või brauseri versioon.
Seega on samal lehel ilma brauseriülese ühilduvuse nõude käsitsi järgimiseta kuvamiseks erinevad andmed erinevaid seadmeid ja erinevates brauserites.
Kui lubate külastajal need protseduurid iseseisvalt läbi viia, samuti valite arendaja poolt pakutavate hulgast välja vajalikud leheelemendid, saate kasutaja arvamust arvestades tagada brauseritevahelise ühilduvuse ja lehe vajaliku funktsionaalsuse. .
Pukseerimisfunktsioon võib aidata teie iPadi jõudlust suurendada. Siin on, kuidas saate seda kasutada.
Nii saate teisaldada faili ühest pilvesalvestusteenusest teise, kopeerida teksti Safarist tekstitöötlusrakendusse, et lisada tsitaat või luua varukoopia teatud fotod failisalvestusrakenduses.
Kuidas pukseerida fotosid, faile ja teksti
1. Puudutage ja hoidke all fotot, faili või esiletõstetud teksti, mille soovite teise rakendusse lohistada.
2. Lohistage element soovitud asukohta see rakendus või mõni muu, mille olete avanud Slide Over või Split View ja vabastage.
Kuidas pukseerida mitu fotot või faili korraga
1. Puudutage pikalt üht fotot või faili, mida soovite lohistada.
2. Praeguse üksuse lohistamise ajal puudutage teist fotot või faili, mida soovite samuti lohistada. Tehke seda uuesti nii paljude elementidega, kui soovite liigutada.
3. Lohistage kõik valitud objektid nende määratud asukohta teises rakenduses, mille olete avatud vaates Slide Over või Split View, ja vabastage need.
Kuidas lohistada teksti ühest rakendusest teise
1. Puudutage ja hoidke seda teksti osa, mida soovite lohistada, et see valida.
2. Kasutage valikupunkte, et tõsta esile ülejäänud tekst, mida soovite lohistada.
3. Vajutage ja hoidke valitud teksti all.
4. Lohistage tekst rakendusse, kuhu soovite selle paigutada, ja vabastage see.
Kuidas muuta mitme rakenduse ikoonide asukohta korraga "Drag and Drop" abil
Kuigi enamik iOS-i pukseerimisfunktsioone töötab ainult iPadis, töötab see trikk tegelikult nii iPhone'is kui ka iPadis. See võimaldab teil korraldada rakenduste asukohta avakuval kasutades « Lohistage", selle asemel, et neid ükshaaval liigutada.
1. Puudutage pikalt selle rakenduse ikooni, mille asukohta soovite avakuval ümber paigutada.
2. Puudutage täiendavaid rakendusi, mida soovite samuti teisaldada.
3. Lohistage need rakendused lehele või kausta, kuhu soovite, ja pukseerige need.
182
Selles näites valime div elemendi ja muudame selle teisaldatavaks, kutsudes seda lohistatav() meetod. Nagu alloleval joonisel näha, võtab element avatud dokumendis oma tavapärase positsiooni, kuid pärast seda saab selle hiirekursoriga brauseriaknas suvalisse kohta liigutada:
Pukseerimisfunktsioon on iseenesest kasulik, kuid veelgi kasulikum, kui seda kasutatakse koos pukseeritava interaktsiooniga, mida kirjeldatakse järgmisena.
Lohistav interaktsioon rakendatakse ainult konkreetse HTML-i märgistuse ja CSS-stiilide kasutamise kaudu. See tähendab, et see funktsioon töötab peaaegu igas brauseris, kuid sellega varustatud elemendid ei saa töötada sarnaste loomulike pukseerimisseadmetega. operatsioonisüsteemid.
HTML5 spetsifikatsiooniga määratletud pukseerimistoiminguid rakendatakse tavaliselt operatsioonisüsteemi algmehhanismide abil. Kui kasutate jQuery kasutajaliidese pukseerimismehhanismi, on konfliktide vältimiseks kõige parem keelata HTML5 ekvivalendid. Selleks määrake dokumendi kehaelemendi lohistatava atribuudi väärtuseks false.
Lohistava interaktsiooni kohandamine
Lohistava interaktsiooni jaoks on palju kohandamisvalikuid. Järgmistes jaotistes käsitletud olulisemad omadused on kokku võetud allolevas tabelis:
Kinnisvara | Kirjeldus |
---|---|
telg | Piirab liikumist teatud suundades. Vaikeväärtus on false, mis tähendab, et piiranguid pole, kuid saate määrata ka väärtuse "x" (liiguta ainult piki x-telge) või "y" (liiguta ainult piki y-telge). |
ohjeldamine | Piirab ujuva elemendi asukoha ekraani teatud alaga. Toetatud väärtustüüpe kirjeldatakse allolevas tabelis koos vastava näitega. Vaikeväärtus on false, see tähendab, et piiranguid pole |
viivitus | Määrab aja, mille jooksul elementi tuleb enne liigutamist lohistada. Vaikeväärtus on 0, mis tähendab, et viivitust pole |
vahemaa | Määrab kauguse, mille kasutaja peab elemendi algpositsioonist lohistama, enne kui see tegelikult liigub. Vaikeväärtus on 1 piksel |
võre | Sunnib teisaldatud elemendi sidumist ruudustiku rakkudega. Vaikeväärtus on false, mis tähendab, et sidumist pole |
Liikumissuundade piiramine
Elemendi liikumist teatud suundades saate piirata mitmel viisil. Esimene neist on telje valiku kasutamine, mis võimaldab piirata liikumissuunda X- või Y-teljega.Näide on toodud allpool:
...