Acest articol va oferi procedura pentru rularea unei funcții JavaScript după o animație CSS.
Cum să rulați JavaScript după ce animația CSS este terminată?
Javascript oferă „ animationstart ” & “ animand ” evenimente care permit dezvoltatorului să ruleze o funcție Javascript odată ce o animație începe sau se termină. Acest lucru face ca dezvoltatorii să efectueze orice operație după ce animația s-a terminat. Sintaxa pentru utilizarea „ animand ” evenimentul este următorul:
{ HTML element } . addEventListener ( 'animare' , FunctionName ) ;
În sintaxa furnizată mai sus, „ animand ” este furnizat ca prim argument pentru ascultătorul de evenimente, urmat de funcția care va fi executată odată ce animația se termină. Un „ ascultător de evenimente ” în Javascript declanșează funcția dată de fiecare dată când are loc un anumit eveniment.
Să înțelegem cum un utilizator poate rula o funcție JavaScript după o animație CSS folosind sintaxa definită mai sus. În această demonstrație, o casetă este animată să se miște în jos și să urce din nou în „ patru ” secunde. După ce animația este finalizată, va fi afișat un mesaj folosind o funcție JavaScript.
< html >
< stil >
#myDIV {
lăţime : 150px ;
înălţime : 150px ;
poziţie : relativ ;
fundal : verde deschis ;
}
@keyframes moveBox {
0 % { top : 0px ; }
cincizeci % { top : 200px ; fundal : roz ; }
100 % { top : 0px ; fundal : verde deschis ; }
}
stil >
< corp >
< h1 > Rularea JavaScript după CSS Animaţie h1 >
< h3 > Faceți clic pe pătratul de mai jos pentru a începe animația h3 >
< p id = 'pentru' > p >
< div id = 'myDIV' onclick = 'funcția mea()' > div >
< scenariu >
const sălbatic1 = document. getElementById ( 'myDIV' ) ;
const pentru = document. getElementById ( 'pentru' ) ;
funcția myFunction ( ) {
sălbatic1. stil . animaţie = „moveBox 6s” ;
}
sălbatic1. addEventListener ( 'animationstart' , startFunction ) ;
sălbatic1. addEventListener ( 'animare' , endFunction ) ;
funcția startFunction ( ) {
pentru. innerHTML = „A început animația...” ;
}
funcția endFunction ( ) {
pentru. innerHTML = „S-a încheiat animația!” ;
pentru. stil . culoare = 'roșu' ;
}
scenariu >
corp >
html >
Explicația codului de mai sus este următoarea:
- În '
” etichete, elementul cu id “ myDIV ” este prevăzut cu proprietăți CSS. - În continuare, un „ cadru cheie ' numit ' moveBox ” este creat în scopuri de animație. Are trei stări de tranziție. Prima tranziție va fi de la „ 0% ' la ' cincizeci% ”. Apoi, următoarea tranziție va fi de la „ cincizeci% ' la ' 100% ”.
- Apoi, în interiorul etichetelor corporale, „ h1 ” & “ h3 ” sunt create elemente.
- A ' „element cu id“ pentru ' este creat.
- A ' div „element cu id-ul „ myDIV ' este creat. De asemenea, o funcție numită „ myFunction() ” este furnizat „ onclick ” atributul elementului div.
- În continuare, în interiorul „ ”, sunt create două constante. Aceste constante indică către elementele HTML folosind „ .getElementByID() ” metoda.
- O funcție numită „ myFunction() ' este creat. Această funcție va anima „ myDIV ' element folosind ' moveBox ” cadre cheie.
- În continuare, sunt creați doi ascultători de evenimente care apelează funcțiile specificate pe „ animationstart ” eveniment și ” animand ” eveniment.
- Apoi, sunt definite două funcții pentru evenimentele menționate mai sus.
Ieșire:
Poate fi văzut în rezultatul de mai jos când utilizatorul face clic pe casetă, animația începe. În procesul de animație, caseta se schimbă, se mișcă cu 200 de pixeli în jos și revine la locul inițial. În timpul mișcării, culoarea sa se schimbă și de la verde la roz și apoi din nou la verde. În continuare, mesajul „ Animația s-a încheiat! ” este afișat folosind o funcție Javascript care este executată după ce animația CSS este terminată.
Este vorba despre rularea unei funcții JavaScript după terminarea animației CSS.
Concluzie
Pentru a rula o funcție JavaScript după ce o animație CSS s-a terminat, utilizatorul poate folosi un ascultător de evenimente. Pentru aceasta, utilizatorul trebuie să furnizeze „ animand ” eveniment ca prim argument și o funcție ca al doilea argument pentru ascultătorul evenimentului. Funcția specificată va fi executată după terminarea animației. Acest articol a furnizat procedura de rulare a unei funcții Javascript după o animație CSS.