mata teras
- animasi berasaskan tatal dan kesan khas adalah teknologi yang membolehkan pemaju web membuat pengalaman web yang dinamik dan interaktif. Mereka dicetuskan apabila pengguna menatal ke halaman dan boleh dimanipulasi dan dilaksanakan dengan CSS dan jQuery.
- Untuk mewujudkan kesan berasaskan skrol responsif, sifat lebar dan ketinggian tetingkap penyemak imbas mesti ditakrifkan. Tanpa sifat -sifat ini, kesannya tidak berfungsi dengan betul apabila pengguna mengubah saiz tetingkap.
- Tutorial ini menyediakan empat contoh animasi dan kesan berasaskan skrol yang menunjukkan bagaimana ia berbeza berdasarkan nilai atribut lebar tetingkap. Contoh -contoh ini termasuk animasi kelegapan, ketinggian, lebar, kiri, kanan, dan sifat bawah pelbagai elemen.
- Tutorial ini juga mengandungi seksyen FAQ yang menyediakan penyelesaian kepada masalah biasa seperti mewujudkan kesan menatal yang lancar, mengesan arah menatal, dan menghentikan animasi jQuery.
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?
$(window).scroll(function() { if ($(this).scrollTop() > 0) { // 應(yīng)用特效和動畫 } });
Jika kita ingin membuat kesan berasaskan tatal responsif, kita mesti menentukan sifat berikut:
Lebar harta tetingkap penyemak imbas.
- sifat ketinggian tetingkap penyemak imbas.
- Jika sifat-sifat ini tidak ditakrifkan, kami akan membuat kesan berasaskan skrol "statik" yang tidak akan berfungsi dengan betul apabila pengguna mengubah saiz tetingkap secara mendatar atau menegak.
Coretan kod berikut menunjukkan semua cek yang diperlukan yang mesti dipertimbangkan untuk menghasilkan kesan berasaskan tatal.
$(window).scroll(function() { if ($(this).scrollTop() > 0) { // 應(yīng)用特效和動畫 } });
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:
$(window).scroll(function() { if ($(this).width() <= 549 && $(this).height() <= 549 && $(this).scrollTop() > 600) { // 應(yīng)用特效 } else if ($(this).width() > 549 && $(this).width() <= 991 && $(this).scrollTop() > 480) { // 應(yīng)用特效 } else if ($(this).scrollTop() > 450) { // 應(yīng)用特效 } });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.
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'); }
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.
- Nilai atribut lebar tetingkap adalah antara 550px dan 991px. Dalam kes ini, animasi hanya akan dicetuskan jika kedudukan teratas bar tatal tetingkap melebihi 480px.
- Nilai atribut lebar penyemak imbas lebih besar daripada 991px. Dalam kes ini, animasi hanya akan dicetuskan jika kedudukan teratas bar tatal tetingkap melebihi 450px.
- Asumsi di atas membawa kepada coretan kod berikut:
Kod yang mengandungi animasi yang akan dilaksanakan adalah seperti berikut:
if ($(window).scrollTop() > 60) { $('.banner h2').hide(); $('.banner .info').show(); } else { $('.banner h2').show(); $('.banner .info').hide(); }
Kod di atas menghidupkan kelegapan, ketinggian dan lebar untuk unsur -unsur
if ($(window).width() <= 549) { if ($(window).scrollTop() > 600) { // 執(zhí)行的動畫 firstAnimation(); } } else if ($(window).width() > 549 && $(window).width() <= 991) { if ($(window).scrollTop() > 480) { // 執(zhí)行的動畫 firstAnimation(); } } else { if ($(window).scrollTop() > 450) { // 應(yīng)該執(zhí)行的動畫 firstAnimation(); } }.
.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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mekanisme pengumpulan sampah JavaScript secara automatik menguruskan memori melalui algoritma pembersihan tag untuk mengurangkan risiko kebocoran ingatan. Enjin melintasi dan menandakan objek aktif dari objek akar, dan tidak bertanda dianggap sebagai sampah dan dibersihkan. Sebagai contoh, apabila objek tidak lagi dirujuk (seperti menetapkan pembolehubah kepada null), ia akan dikeluarkan dalam pusingan seterusnya kitar semula. Punca kebocoran memori yang biasa termasuk: ① Pemasa atau pendengar peristiwa yang tidak jelas; ② Rujukan kepada pembolehubah luaran dalam penutupan; ③ Pembolehubah global terus memegang sejumlah besar data. Enjin V8 mengoptimumkan kecekapan kitar semula melalui strategi seperti kitar semula generasi, penandaan tambahan, kitar semula selari/serentak, dan mengurangkan masa menyekat benang utama. Semasa pembangunan, rujukan global yang tidak perlu harus dielakkan dan persatuan objek harus dihiasi dengan segera untuk meningkatkan prestasi dan kestabilan.

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

IIFE (Segera Dilanjutkan FunctionExpression) adalah ekspresi fungsi yang dilaksanakan dengan segera selepas definisi, digunakan untuk mengasingkan pembolehubah dan mengelakkan mencemarkan skop global. Ia dipanggil dengan membungkus fungsi dalam kurungan untuk menjadikannya ungkapan dan sepasang kurungan segera diikuti olehnya, seperti (fungsi () {/code/}) ();. Penggunaan terasnya termasuk: 1. Elakkan konflik berubah -ubah dan mencegah pertindihan penamaan antara skrip berganda; 2. Buat skop peribadi untuk menjadikan pembolehubah dalaman tidak kelihatan; 3. Kod modular untuk memudahkan permulaan tanpa mendedahkan terlalu banyak pembolehubah. Kaedah penulisan biasa termasuk versi yang diluluskan dengan parameter dan versi fungsi anak panah ES6, tetapi perhatikan bahawa ungkapan dan ikatan mesti digunakan.

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)
