Animasi selalu menjadi kegemaran panas di kalangan pelajar belajar program. Semasa bengkel pembangunan web hujung minggu baru -baru ini yang saya hadiri, terdapat perbincangan mengenai animasi menggunakan CSS. Itulah ketika saya terjumpa Anijs, perpustakaan pengendalian deklaratif untuk animasi CSS.
Dalam tutorial ini, kita akan melihat apa yang Anijs adalah tentang dan cara menggunakannya untuk membuat beberapa kesan animasi yang sejuk.
Anijs adalah perpustakaan pengendalian deklaratif untuk animasi CSS yang membolehkan untuk membuat animasi menggunakan perintah mudah, deklaratif yang ditulis secara langsung dalam HTML, memudahkan pengurusan animasi.
Perpustakaan menggunakan atribut tersuai yang dipanggil data-anijs dalam atribut data HTML5 untuk membuat pernyataan deklaratif untuk animasi. Sebagai contoh, kod `
` `Jika medan input difokuskan, ia akan melakukan animasi 'goyah' ke elemen tag anchor.
anijs boleh digunakan untuk meningkatkan aplikasi web dengan animasi. Tutorial menggunakan contoh pendaftaran pengguna dan aplikasi log masuk yang mudah, menunjukkan cara membuat skrin log masuk, mengesahkan proses log masuk, dan membuat skrin daftar dengan animasi menggunakan ANIJS. Jika fokus kemudian lakukan goyangan ke elemen tag anchor.
Bermula
<span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Semasa tutorial ini, kami akan membuat aplikasi yang dipertingkatkan dengan animasi menggunakan ANIJs. Aplikasi ini akan menjadi pendaftaran pengguna dan aplikasi log masuk yang mudah yang akan merangkumi beberapa animasi menggunakan ANIJS. Tumpuan utama tutorial ini ialah bagaimana kita boleh membuat animasi berfungsi dalam aplikasi web kami menggunakan anijs.
untuk memulakan, muat turun anijs dan masukkannya di halaman anda, atau merujuk versi CDN.
untuk gaya kami akan menggunakan libray animate.css oleh Dan Eden.
Membuat skrin log masuk
Pertama kami akan membuat skrin untuk pengguna log masuk. Inilah HTML: <span><span><span><script</span> src<span>="http://cdn.jsdelivr.net/anijs/0.4.0/anijs-min.js"</span>></span><span><span></script</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Apa yang kita ada setakat ini hanyalah halaman log masuk statik. Dengan beberapa CSS, nampaknya ini: <span><span><span><link</span> rel<span>="stylesheet"</span>
</span></span><span> <span>href<span>="http://cdn.jsdelivr.net/animatecss/3.1.0/animate.css"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Lihat tutorial pena Anijs, skrin log masuk statik oleh SitePoint (@SitePoint) pada codepen.
Kami telah membuat skrin kami, sekarang kami perlu mengesahkan proses log masuk. Untuk melampirkan kesan animasi, kami menggunakan atribut data-anijs pada elemen tertentu. Kami menulis pernyataan deklaratif kami menggunakan atribut data HTML5, menggunakan atribut tersuai yang dipanggil Data-Anijs. Mari tambahkan atribut ini ke butang Signin, seperti yang ditunjukkan di bawah:
<span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dalam kod di atas, ayat deklaratif mengatakan, Apabila butang log masuk diklik, lakukan animasi engsel ke elemen dengan kelas .login_screen . Oleh itu, apabila kita mengklik butang, animasi engsel berkuatkuasa, seperti yang anda lihat dengan mengklik butang Signin dalam demo di bawah:
Lihat demo pena Anijs, Log masuk gagal oleh SitePoint (@SitePoint) pada codepen.
Dalam demo di atas, animasi berfungsi apabila butang diklik tanpa mengira sama ada terdapat log masuk yang sah atau tidak sah. Itu bukan apa yang kita mahu, jadi mari kita mengubah kod sedia ada untuk menghidupkan hanya pada log masuk yang tidak sah.
Untuk memeriksa sama ada log masuk adalah sah, kami perlu memanggil fungsi mengesahkan sebelum animasi. Untuk ini, kami akan menggunakan kata kunci sebelum ini. Dokumentasi terperinci yang berkaitan dengan memanggil fungsi sebelum dan selepas animasi boleh didapati dalam dokumen ANIJS. Kami akan lulus dalam objek acara untuk mencetuskan animasi, serta AnimationContext.
Pertama, kami akan menentukan penolong Anijs dan kemudian kami akan mengisytiharkan fungsi animasi sebelum ini. Inilah cara fungsi kelihatan:
<span><span><span><script</span> src<span>="http://cdn.jsdelivr.net/anijs/0.4.0/anijs-min.js"</span>></span><span><span></script</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
kami juga akan mengubah suai atribut data butang Signin untuk memasukkan fungsi animasi sebelum, seperti yang ditunjukkan di bawah:
<span><span><span><link</span> rel<span>="stylesheet"</span>
</span></span><span> <span>href<span>="http://cdn.jsdelivr.net/animatecss/3.1.0/animate.css"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sekarang animasi akan berlaku hanya jika medan e -mel atau kata laluan kosong. Animasi dijalankan menggunakan perintah AnimationContext.Run () dalam blok kod JavaScript di atas. Jika kedua -dua e -mel dan kata laluan dimasukkan maka ia akan menunjukkan mesej 'pemprosesan ...'.
inilah demo dari apa yang kita ada setakat ini:
Lihat demo Pena Anijs, Mengesahkan butang Signin oleh SitePoint (@SitePoint) pada Codepen.
Membuat Skrin Daftar
Seterusnya kami akan membuat halaman daftar (atau pendaftaran) untuk aplikasi kami. Seperti yang anda lihat, kami sudah mempunyai pautan daftar pada halaman log masuk kami. Apa yang akan kita lakukan ialah melampirkan beberapa animasi dan acara ke pautan daftar. Pertama, tambahkan HTML berikut untuk halaman daftar ke HTML kami yang sedia ada:
<span><span><span><div</span> class<span>="container"</span>></span>
</span>
<span><span><span><div</span> id<span>="divLogin"</span> class<span>="login_screen"</span>></span>
</span> <span><span><span><h2</span> id<span>="spnLogin"</span>></span>Sign In<span><span></h2</span>></span>
</span> <span><span><span><input</span> id<span>="txtLoginId"</span> type<span>="text"</span> placeholder<span>="Email Id"</span> /></span>
</span> <span><span><span><input</span> id<span>="txtLoginPass"</span> type<span>="password"</span> placeholder<span>="Password"</span> /></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="btn"</span>></span>
</span> SignIn
<span><span><span></a</span>></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="signup-link"</span>></span>Register?<span><span></a</span>></span>
</span> <span><span><span></div</span>></span><!-- .login-screen -->
</span>
<span><span><span></div</span>></span><!-- .container --></span>
Salin selepas log masuk
Salin selepas log masuk
Perhatikan CSS sebaris dengan paparan: Tiada pada elemen .reg_screen, yang menjadikan skrin ini tersembunyi secara lalai. Untuk menyambungkan pautan daftar di skrin log masuk ke skrin baru ini, kami akan menambah atribut Data-Anijs ke pautan:
<span><span><span><input</span> id<span>="txtName"</span> type<span>="text"</span> data-anijs<span>="if: focus, do: wobble, to: a"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kod di atas mengatakan Apabila pautan pendaftaran diklik, lakukan animasi rollin pada elemen yang mempunyai kelas reg_screen (yang merupakan skrin daftar kami). Tetapi ini tidak akan berfungsi, kerana skrin daftar tersembunyi.
Apa yang perlu kita lakukan ialah memanggil fungsi sebelum animasi berlaku. Dalam fungsi itu, kami menyembunyikan skrin log masuk semasa membuat skrin daftar kelihatan. Kemudian kami menjalankan animasi. Inilah JavaScript:
<span><span><span><script</span> src<span>="http://cdn.jsdelivr.net/anijs/0.4.0/anijs-min.js"</span>></span><span><span></script</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
maka kami akan mengubah suai atribut data-anijs pautan daftar:
<span><span><span><link</span> rel<span>="stylesheet"</span>
</span></span><span> <span>href<span>="http://cdn.jsdelivr.net/animatecss/3.1.0/animate.css"</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Berikut adalah demo dengan kod yang baru ditambah:
lihat pena zdjlc oleh sitepoint (@sitePoint) pada codepen.
Sekarang bahawa skrin daftar dapat dilihat, kita juga perlu menyambungkan pautan login dalam skrin daftar ke skrin log masuk asal, sama seperti yang kami lakukan untuk skrin daftar. Inilah fungsi:
<span><span><span><div</span> class<span>="container"</span>></span>
</span>
<span><span><span><div</span> id<span>="divLogin"</span> class<span>="login_screen"</span>></span>
</span> <span><span><span><h2</span> id<span>="spnLogin"</span>></span>Sign In<span><span></h2</span>></span>
</span> <span><span><span><input</span> id<span>="txtLoginId"</span> type<span>="text"</span> placeholder<span>="Email Id"</span> /></span>
</span> <span><span><span><input</span> id<span>="txtLoginPass"</span> type<span>="password"</span> placeholder<span>="Password"</span> /></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="btn"</span>></span>
</span> SignIn
<span><span><span></a</span>></span>
</span> <span><span><span><a</span> href<span>="#"</span> class<span>="signup-link"</span>></span>Register?<span><span></a</span>></span>
</span> <span><span><span></div</span>></span><!-- .login-screen -->
</span>
<span><span><span></div</span>></span><!-- .container --></span>
Salin selepas log masuk
Salin selepas log masuk
dan di sini adalah atribut data-anijs yang diubah suai untuk pautan log masuk:
<span><span><span><a</span> href<span>="#"</span>
</span></span><span> <span>class<span>="btn"</span>
</span></span><span> <span>data-anijs<span>="if: click, do: hinge animated, to: .login_screen"</span>></span>
</span> SignIn
<span><span><span></a</span>></span></span>
Salin selepas log masuk
Dan di sini adalah demo dengan kod baru:
Nota Editor : Demo di bawah nampaknya tidak berfungsi 100% dengan betul dalam embeds ini, khususnya apabila anda cuba beralih ke belakang dan sebagainya antara "Log masuk" dan "Daftar". Cuba pautan "edit" dalam bingkai codepen untuk melihat demo penuh, di mana ia harus berfungsi dengan baik.
Lihat demo Pena Anijs, Tunjukkan Login & Tunjukkan Daftar oleh SitePoint (@SitePoint) pada Codepen.
Sama seperti apa yang kami lakukan dalam skrin log masuk, kami akan mengesahkan borang daftar menggunakan fungsi:
<span>var animationHelper = AniJS.getHelper(),
</span> spnLogin <span>= document.getElementById('spnLogin');
</span>
animationHelper<span>.validateLogin = function (e<span>, animationContext</span>) {
</span> <span>var email = document.getElementById('txtLoginId').value;
</span> <span>var pass = document.getElementById('txtLoginPass').value;
</span> <span>if (email && pass) {
</span> spnLogin<span>.innerHTML = 'Processing...';
</span> <span>} else {
</span> spnLogin<span>.innerHTML = 'Fill Required fields.';
</span> animationContext<span>.run();
</span> <span>}
</span><span>}</span>
Salin selepas log masuk
Biasanya kita akan caching banyak objek ini dalam pembolehubah, dan bukannya mengulangi rujukan kepada mereka. Kami melakukannya dengan cara ini hanya untuk contoh mudah ini.
Dan akhirnya, mari ubah suai atribut data-Anijs dalam HTML kami untuk memasukkan panggilan animasi dan fungsi.
<span><span><span><a</span> href<span>="#"</span>
</span></span><span> <span>class<span>="btn"</span>
</span></span><span> <span>data-anijs<span>="if: click, do: hinge animated, to: .login_screen, before: validateLogin"</span>></span>
</span> SignIn
<span><span><span></a</span>></span></span>
Salin selepas log masuk
Dan inilah demo terakhir kami:
Lihat final demo pena Anijs oleh SitePoint (@SitePoint) pada codepen.
Kesimpulan
Dalam tutorial ini, apa yang kita bincangkan hanyalah puncak menyelinap ke perpustakaan yang hebat ini. Maklumat mendalam mengenai penggunaannya boleh didapati dalam dokumen ANIJS.
Soalan Lazim (Soalan Lazim) Mengenai Anijs
Apa itu Anijs dan bagaimana ia berfungsi? Ia membolehkan pemaju membuat animasi menggunakan sintaks mudah dan intuitif, tanpa perlu menulis kod JavaScript kompleks. ANIJs berfungsi dengan menghuraikan atribut data-Anijs dalam elemen HTML anda dan melaksanakan animasi yang sepadan. Ini menjadikannya lebih mudah untuk mengurus dan mengawal animasi, kerana anda boleh menentukannya secara langsung di HTML anda.
bagaimana saya memasang anijs?
Memasang anijs adalah mudah. Anda boleh memuat turunnya terus dari repositori GitHub atau menggunakan pengurus pakej seperti NPM atau Bower. Setelah dimuat turun, anda hanya perlu memasukkan skrip ANIJS dalam fail HTML anda. Anda kemudian boleh mula menggunakan anijs dengan menambahkan atribut data-anijs ke elemen HTML anda. perpustakaan. Ia tidak mengganggu fungsi perpustakaan lain, dan anda boleh menggunakannya bersama perpustakaan seperti jquery, react, atau sudut. Ini menjadikan Anijs alat yang serba boleh untuk membuat animasi dalam pelbagai konteks pembangunan web.
Bagaimana saya membuat animasi dengan anijs? Elemen HTML dan menentukan parameter animasi. Atribut Data-Anijs menggunakan sintaks mudah yang menentukan peristiwa, elemen untuk menghidupkan, animasi untuk memohon, dan fungsi panggil balik. Anda juga boleh menggunakan fungsi penolong anijs untuk mengawal aliran animasi.
Apakah jenis animasi yang boleh saya buat dengan Anijs? Anda boleh membuat animasi mudah seperti pudar dan slaid, serta animasi yang lebih kompleks yang melibatkan transformasi dan peralihan. Anijs juga menyokong animasi chaining, yang membolehkan anda membuat urutan animasi yang dilaksanakan dalam urutan tertentu. Animasi yang dibuat dengan ANIJ adalah berdasarkan CSS, yang bermaksud mereka boleh diperkuat dan disesuaikan dengan saiz dan resolusi skrin yang berbeza. Ini menjadikan Anijs alat yang berguna untuk membuat animasi yang berfungsi dengan baik pada kedua -dua desktop dan peranti mudah alih. animasi. Anda boleh menentukan tempoh animasi dalam atribut Data-Anijs, dan anda boleh menggunakan fungsi kelewatan untuk menjeda animasi untuk masa tertentu. Anda juga boleh menggunakan fungsi penolong anijs untuk mengawal aliran animasi dan masa. Anda boleh menggunakan parameter animasi yang sama dan kaedah kawalan kepada elemen SVG seperti yang anda lakukan untuk elemen HTML biasa. Ini membolehkan anda membuat animasi kompleks yang melibatkan grafik dan bentuk SVG. sifat animasi. Jika animasi tidak berfungsi seperti yang diharapkan, anda boleh menggunakan alat pemaju penyemak imbas untuk memeriksa elemen HTML dan periksa sifat CSS yang digunakan. Anda juga boleh menyemak konsol JavaScript untuk sebarang mesej ralat yang berkaitan dengan Anijs.
Bolehkah saya menyumbang kepada pembangunan anijs? Anda boleh menyumbang dengan melaporkan pepijat, mencadangkan ciri -ciri baru, meningkatkan dokumentasi, atau mengemukakan permintaan tarik dengan penambahbaikan kod. Anda boleh mendapatkan lebih banyak maklumat mengenai cara menyumbang pada halaman Anijs GitHub.
Atas ialah kandungan terperinci Anijs: Perpustakaan Pengendalian Deklaratif untuk Animasi CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!