AniJS Easy CSS Animasjoner uten koding

Mange mennesker vil legge til subtile animasjoner på deres nettside som svar på klikk eller andre handlinger av sine besøkende. Men ikke alle er godt kjent med å bruke CSS eller JavaScript. Noen vet bare hvordan man endrer HTML og har endringen reflektert på nettsiden.

Vanligvis er dette den delen der utviklere tar over og legger til nødvendig JavaScript og CSS for å gjøre nettstedet ditt skiller seg ut. Men hvis du vil kunne bygge et animert nettsted selv, uten å kodes, ville et bibliotek kalt AniJS hjelpe en god del.

AniJS lar deg lage animert styling for nettstedet ditt uten JavaScript eller CSS-koding! Du kan angi alle animasjonene dine med HTML ved hjelp av en enkel Hvis--Gjøre-Til syntaks.

Installasjon

Før du kan begynne å animere elementene på nettsiden din med data-anijs attributter, må du inkludere de nødvendige filene. Tre forskjellige filer er nødvendig for å få tilgang til all funksjonalitet i AniJS. Disse filene er kjernen JS-biblioteket, CSS-filen for animasjonene, og en annen JavaScript-hjelpeperson for bruk av spesiell AniJS-syntaks som $ addClass, $ toggleClass, og $ removeClass.

Du kan også installere biblioteket ved hjelp av Bower ved å kjøre følgende kommando:

bower install anijs - save 

Når du har tatt med alle nødvendige filer, vil elementene på nettsiden være klar for animasjon.

Komme i gang med AniJS Syntax

I sin grunnleggende form bruker AniJS følgende syntaks til å animere bestemte elementer basert på en hvilken som helst hendelse.

Hvis (noe som skjer), På (et hvilket som helst element), Gjør (noe som animer, legg til / fjern klasse), Til (dette eller noe annet element)

Her, den Hvis del spesifiserer hendelsen som vil utløse animasjonen eller klassemanipuleringen. De Del spesifiserer elementet hvis hendelser AniJS skal høre på. Dette kan være forskjellig fra det elementet du har konfigurert data-anijs Egenskap. De Gjøre Del spesifiserer handlingen som skal tas. Her kan du angi navnet på animasjonen du vil søke på, etc. Endelig, Til del er brukt til å spesifisere elementet som må animeres eller manipuleres.

De Hvis En del er nødvendig for AniJS-setningen som du legger til for å animere noe element. De En del er valgfri, og hvis den ikke er spesifisert, bruker den gjeldende elementet som standardverdien. De Gjøre del er også nødvendig da det forteller nettleseren hva du skal gjøre når den angitte hendelsen skjer. De Til En del er også valgfri og standard til det nåværende elementet når det ikke er angitt.

Du kan også bruke Før og Etter kroker for å spesifisere hva som skal skje før og etter AniJS gjør saken nevnt i Gjøre del.

Animere forskjellige elementer

AniJS lar deg kjøre en animasjon ved å utløse den på en hvilken som helst aktuell hendelse som er oppført på MDN-siden. På samme måte kan du bruke  og til å målrette mot hvilket som helst element du vil bruke CSS selectors. For eksempel kan du spesifisere at du vil lytte til en hendelse på div.promotion eller delen div p.first, etc. Den gjøre En del kan brukes til å angi animasjonen du vil søke på forskjellige elementer. AniJS har mange animasjoner som kan brukes til ethvert element du vil ha.

Følgende HTML-kodestykke viser deg hvordan du bruker noen animasjoner på elementer som vil bli utløst på bestemte hendelser.

I hvert tilfelle er alt du trenger å gjøre, å skrive uttalelsene i data-anijs attributt, og biblioteket skal ta vare på resten. (Vi har hoppet over til del i alle disse animasjonene, slik at animasjonen blir brukt på elementet som vi har angitt i data-anijs Egenskap.)

De siste fire boksene har forskjellige verdier for del. Dette betyr for eksempel at animasjonen på den grønne boksen bare vil skje når musen beveger seg over den brune boksen. På samme måte begynner sprett animasjonen på den gule boksen å spille når en bruker dobbeltklikker hvor som helst inni kroppen.

Du kan prøve disse animasjonene ut selv i den innebygde CodePen-demoen.

Manipulering av klasser og HTML-elementer

AniJS lar deg gjøre mer enn bare animere forskjellige elementer. For eksempel kan du bruke den til å legge til, fjerne eller bytte klasser som er brukt til forskjellige elementer. På samme måte kan du også fjerne HTML-elementer eller klone dem uten å legge til en enkelt linje med JavaScript. Biblioteket gir deg også mulighet til å krysse DOM ved hjelp av spesielle reserverte søkeord.

La oss begynne med klassemanipulering. AniJS har tre reserverte søkeord for manipulering av klasser. Disse er $ addClass, $ removeClass, og $ toggleClass. Som navnet antyder, kan du bruke dem til å legge til, fjerne og veksle en eller flere klasser av et element henholdsvis. Alt du trenger å gjøre er å spesifisere klassenavnene etter de reserverte søkeordene.

På samme måte kan du bruke reservert søkeord som $ forelder, $ forfedre, $ nærmeste, $ finne, og $ barn å krysse DOM.

Du kan bruke disse to settene med reserverte søkeord sammen for å gjøre noe som å legge til en bestemt klasse for alle barn av et element etter at en besøkende dobbeltklikker det bestemte elementet. 

Men hvilke barn du refererer til, kan være tvetydige i visse tilfeller. For eksempel kan du ha brukt data-anijs attributt til ett element, men sett verdien av  del til noe annet ved hjelp av CSS-selektorer. I denne situasjonen vil AniJS ikke ha mulighet til å vite om klassen må legges til barna til elementet som refereres av CSS-väljeren eller elementet du har brukt på data-anijs Egenskap. 

I slike tilfeller kan du fjerne tvetydigheten ved å bruke et annet reservert søkeord som hetermål. Her, mål refererer til elementet påpekt av CSS velgeren.

Vurder følgende tre eksempler der AniJS har blitt brukt til å bytte klasser av forskjellige elementer:

I eksemplet ovenfor har jeg omformatt HTML-koden for å gjøre det lettere å lese og se hva som skjer.

La oss begynne med den første div. I dette tilfellet har vi utelatt begge og til deler av data-anijs attributt verdi. Derfor er de begge standard til dagens div seg selv. Hvis du prøver å klikke på dette bestemte div, det vil veksle oransje klassen, som igjen endrer boksen til oransje.

I tilfelle av den andre div, Vi forteller AniJS å bytte klassen som heter rød for alle elementer som er barn av det aktuelle div. Dette vil rotere alle barna span elementer og endre fargen til rødt, mens du stiller grenseradien til null.

Vi har levert to forskjellige uttalelser inne i data-anijs attributt til den tredje div. Begge disse utsagnene bytter det samme gul klasse. Effektene er imidlertid helt forskjellige på grunn av bruken av mål søkeord.

I det første tilfellet har vi lagt til mål søkeord etter $ forelder søkeord. Dette forteller AniJS at vi vil bytte klassen til foreldrene til elementene som er pekt på av skjell klasse. I andre tilfelle har vi hoppet over mål Søkeord, slik at AniJS endrer bakgrunnen til foreldrenes foreldre div. Siden forelderen til div er den kropp seg selv, hele siden blir gul.

Du kan prøve å klikke på forskjellige elementer og se hvordan de påvirker siden i den innebygde CodePen-demoen.

En ting verdt å merke seg er at selv om data-anijs Attributt for den tredje boksen har to erklæringer, å klikke på boksen selv har ingen effekt. Dette er fordi vi har instruert AniJS for å lytte til klikkhendelsene på span elementer med klassen skjell i begge tilfellene.

Andre måter å manipulere HTML

En annen måte å manipulere HTML-elementer på en nettside ved hjelp av AniJS ville være å klone eller fjerne dem. Biblioteket har reservert søkeordene $ remove og $ klone som vil fortelle om du vil fjerne et element eller klone det.

Du kan sende flere valg til $ remove for å fjerne flere elementer fra nettsiden. Husk at forskjellige CSS-selektorer må separeres med røret | karakter.

De $ klone søkeord aksepterer også to parametere. Den første er CSS-velgeren for å spesifisere elementet du vil klone. Den andre er et tall for å angi hvor mange kopier du vil lage. For eksempel, $ klone .shells | 10 vil lage 10 kopier av elementene med klassen skjell og legg dem som barn av det elementet som data-anijs Attributtet er spesifisert. Hvis kopiene må legges til et annet element, kan du peke AniJS til det ved å angi riktig CSSvelger etter til i AniJS-setningen.

Konklusjon

Målet med denne opplæringen var å hjelpe deg med å komme i gang med AniJS så raskt som mulig. Som du kanskje har lagt merke til, er biblioteket veldig enkelt å bruke. Alt du trenger å gjøre er å angi de riktige attributtverdiene, og AniJS skal ta vare på alt annet som å endre klasser, manipulere DOM og animere eventuelle endringer.

Biblioteket tilbyr mange andre funksjoner som vi ikke har dekket i denne opplæringen. Du bør gå gjennom den offisielle dokumentasjonen for å lære mer om det og bruke det til sitt fulle potensiale.