Animasi yang Dicetuskan oleh Tatalan
Animasikan elemen apabila elemen memasuki paparan.
Animasi yang Dicetuskan oleh Tatalan ialah pelajaran Akademi JavaScript percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi JavaScript, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Menganimasikan Semasa Menatal
Kesan yang popular ialah memudarkan atau menggelongsorkan elemen ke dalam pandangan apabila pengguna menatal kepadanya. Intersection Observer menjadikan perkara ini kemas: tambahkan kelas CSS apabila elemen memasuki kawasan pandangan dan biarkan CSS mengendalikan animasi.
Bahagian CSS
Tentukan keadaan permulaan yang tersembunyi dan keadaan akhir yang kelihatan dalam CSS. JavaScript hanya menukar kelas; peralihan dikendalikan sepenuhnya oleh CSS, menjadikannya lancar.
// .reveal { opacity: 0; transform: translateY(20px);
// transition: opacity 0.6s, transform 0.6s; }
// .reveal.visible { opacity: 1; transform: none; }Memilih Sasaran
Tandakan elemen yang ingin anda animasikan dengan kelas yang sama, kemudian kumpulkannya.
const items = document.querySelectorAll('.reveal');
console.log('animating', items.length, 'elements');Mencipta Observer
Gunakan ambang supaya animasi bermula apabila bahagian elemen yang bermakna kelihatan, bukan hanya satu piksel.
const observer = new IntersectionObserver(reveal, {
threshold: 0.2 // 20% visible
});Menambah Kelas
Dalam panggilan balik, tambahkan kelas visible pada sasaran yang bersilang. CSS kemudian menganimasikannya ke dalam pandangan.
function reveal(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}Menganimasikan Sekali
Untuk paparan sekali sahaja, nyahperhatikan elemen selepas menambah kelas supaya elemen itu tidak menganimasi semula apabila ditatal keluar dan masuk kembali.
function reveal(entries, obs) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
obs.unobserve(entry.target); // animate only once
}
});
}Menganimasikan Semula Kedua-dua Arah
Jika anda mahu elemen menganimasi keluar apabila meninggalkan pandangan, tukar kelas berdasarkan isIntersecting dan teruskan pemerhatian.
function reveal(entries) {
entries.forEach(entry => {
entry.target.classList.toggle('visible', entry.isIntersecting);
});
}Memulakan Pemerhatian
Perhatikan setiap sasaran untuk memulakan penjejakan. Observer dicetuskan apabila pengguna menatal melepasi setiap sasaran.
items.forEach(el => observer.observe(el));Menyusun Jeda Animasi
Cipta kesan berurutan dengan menggunakan kelewatan peralihan yang meningkat secara berperingkat. Anda boleh menetapkannya daripada atribut data atau indeks elemen.
items.forEach((el, i) => {
el.style.transitionDelay = (i * 100) + 'ms';
observer.observe(el);
});Menghormati Gerakan Dikurangkan
Sesetengah pengguna lebih suka gerakan yang dikurangkan. Semak pertanyaan media dan langkau animasi untuk mereka, sebaliknya paparkan kandungan serta-merta.
const reduce = window.matchMedia(
'(prefers-reduced-motion: reduce)'
).matches;
if (reduce) {
items.forEach(el => el.classList.add('visible'));
}Peningkatan Prestasi
Oleh sebab kerja berat dikendalikan oleh peralihan CSS dan pengesanan keterlihatan diserahkan kepada pelayar, animasi penatalan kekal lancar walaupun terdapat banyak elemen. Tiada pengiraan acara penatalan dan tiada gerakan tersentak.
Semakan Pantas
Uji pemahaman anda tentang animasi yang dicetuskan oleh penatalan.
Imbas Kembali
Anda telah membina animasi yang dicetuskan oleh penatalan:
- Tentukan keadaan tersembunyi dan kelihatan dalam CSS.
- Perhatikan sasaran dengan
thresholdyang sesuai. - Tukar kelas apabila berlaku persilangan; CSS mengendalikan animasi.
- Gunakan
unobserveuntuk paparan sekali sahaja. - Hormati
prefers-reduced-motion.
Anda telah menamatkan Intersection Observer. Seterusnya, Pekerja Web.
Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 59
- Pelajaran
- 200
Soalan Lazim
Adakah pelajaran “Animasi yang Dicetuskan oleh Tatalan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Akademi JavaScript, termasuk “Animasi yang Dicetuskan oleh Tatalan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Animasi yang Dicetuskan oleh Tatalan”?
Animasikan elemen apabila elemen memasuki paparan. Anda berlatih Akademi JavaScript menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi JavaScript?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi JavaScript di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Animasi yang Dicetuskan oleh Tatalan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi JavaScript ini?
Ya. Setiap pelajaran Akademi JavaScript menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Memerhati Keterlihatan Elemen
- Pemuatan Malas Imej
- Tatalan Tanpa Kesudahan
- Animasi yang Dicetuskan oleh Tatalan