Rumah >hujung hadapan web >tutorial js >Pengenalan kepada Animasi Berbasis JQuery
mata teras
Dalam tutorial ini, kita akan belajar bagaimana untuk membuat animasi berasaskan skrol dan kesan khas menggunakan CSS dan jQuery.
Anda boleh mengklik demo ini untuk melihat empat kesan khas yang akan kami buat. Tetapi sebelum kita mula menerangkan kesan khas, mari kita memperkenalkannya secara ringkas.
Nota: Kod yang digunakan dalam tutorial ini boleh diperbaiki dengan caching objek dan menggunakan animasi CSS (bukan kaedah JQuery's
), tetapi untuk kesederhanaan, kami mengulangi perisytiharan objek dan meletakkan segala -galanya di dalamnya untuk segala -galanya untuk segala -galanya untuk segala -galanya untuk segala -galanya untuk segala -galanya untuk segala Semua disimpan dalam jQuery untuk memberi tumpuan kepada konsep.
animate()
Apakah animasi berasaskan tatal dan kesan khas?
Animasi berasaskan skrol dan kesan khas adalah pendekatan novel dan terkenal yang membolehkan pemaju front-end mewujudkan pengalaman web yang kaya dan interaktif. Mereka dicetuskan apabila pengguna menatal ke halaman dan boleh dimanipulasi dengan mudah dan dilaksanakan menggunakan CSS dan jQuery.
Untuk mengesan sama ada pengguna sedang menatal ke halaman, kami menggunakan acara JQuery's Scroll ().Sebaik sahaja kita tahu bahawa pengguna sedang menatal, kita boleh menggunakan kaedah jQuery's ScrollTop () untuk mendapatkan kedudukan menegak bar scrollbar tetingkap dan menggunakan kesan khas yang diperlukan:
Adakah mereka responsif?
<code class="language-javascript">$(window).scroll(function() { if ($(this).scrollTop() > 0) { // 应用特效和动画 } });</code>
Jika kita ingin membuat kesan berasaskan tatal responsif, kita mesti menentukan sifat berikut:
Lebar harta tetingkap penyemak imbas.
Coretan kod berikut menunjukkan semua cek yang diperlukan yang mesti dipertimbangkan untuk menghasilkan kesan berasaskan tatal.
<code class="language-javascript">$(window).scroll(function() { if ($(this).scrollTop() > 0) { // 应用特效和动画 } });</code>
Sekarang kita telah memperkenalkan asas -asas kesan menatal, mari kita lihat dengan empat contoh yang berbeza.
Nota: Untuk kesederhanaan, kita hanya memberi tumpuan kepada bagaimana kesan -kesan ini berbeza -beza mengikut nilai yang berbeza dari atribut lebar tetingkap. Proses yang sama juga boleh digunakan untuk sifat ketinggian tetingkap.
Contoh #1
Kesan ini akan dicetuskan apabila kedudukan atas bar tatal tetingkap melebihi 60px. Dalam kes ini, coretan kod yang dilaksanakan adalah seperti berikut:
<code class="language-javascript">$(window).scroll(function() { if ($(this).width() <= 549 && $(this).height() <= 549 && $(this).scrollTop() > 600) { // 应用特效 } else if ($(this).width() > 549 && $(this).width() <= 991 && $(this).scrollTop() > 480) { // 应用特效 } else if ($(this).scrollTop() > 450) { // 应用特效 } });</code>Kod di atas menyembunyikan elemen kanak -kanak
dari elemen .banner
dan menunjukkan elemen kanak -kanak yang tersembunyi pada mulanya. h2
.info
Kod ini juga boleh ditulis seperti ini:
Untuk melihat kesan ini dalam tindakan, lihat demo penuh pada Codepen.
<code class="language-javascript">if ($(window).scrollTop() > 60) { $('.banner h2').css('display', 'none'); $('.banner .info').css('display', 'block'); } else { $('.banner h2').css('display', 'block'); $('.banner .info').css('display', 'none'); }</code>
Contoh #2
Kesan khas seterusnya bergantung bukan sahaja pada kedudukan atas bar skrol penyemak imbas, tetapi juga pada lebar tetingkap. Lebih khusus, kami membuat andaian berikut:
Nilai atribut lebar tetingkap kurang daripada atau sama dengan 549px. Dalam kes ini, animasi hanya akan dicetuskan jika kedudukan teratas bar tatal tetingkap melebihi 600px.
Kod yang mengandungi animasi yang akan dilaksanakan adalah seperti berikut:
<code class="language-javascript">if ($(window).scrollTop() > 60) { $('.banner h2').hide(); $('.banner .info').show(); } else { $('.banner h2').show(); $('.banner .info').hide(); }</code>
Kod di atas menghidupkan kelegapan, ketinggian dan lebar untuk unsur -unsur
<code class="language-javascript">if ($(window).width() <= 549) { if ($(window).scrollTop() > 600) { // 执行的动画 firstAnimation(); } } else if ($(window).width() > 549 && $(window).width() <= 991) { if ($(window).scrollTop() > 480) { // 执行的动画 firstAnimation(); } } else { if ($(window).scrollTop() > 450) { // 应该执行的动画 firstAnimation(); } }</code>.
.clients-info
Untuk melihat kesan ini dalam tindakan, lihat demo penuh pada Codepen.
(contoh berikutnya 3 dan 4, serta kesimpulan dan bahagian FAQ, disebabkan oleh batasan ruang, sila buat penulisan semula yang sama berdasarkan teks asal, pastikan makna asal tidak berubah, dan gantikan beberapa perbendaharaan kata dan struktur ayat.)
Ingat untuk menyimpan format dan kedudukan asal gambar.
Atas ialah kandungan terperinci Pengenalan kepada Animasi Berbasis JQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!