Apabila memasukkan animasi CSS3 ke dalam halaman web, pengguna mungkin menghadapi cabaran apabila animasi dicetuskan lebih awal atau tidak kelihatan dalam tempat pandang. Untuk menangani isu ini, API IntersectionObserver menyediakan penyelesaian yang membenarkan elemen dianimasikan hanya apabila ia memasuki port pandangan pengguna.
API IntersectionObserver membolehkan pembangun memerhati perubahan dalam persimpangan unsur sasaran dengan unsur nenek moyang atau tempat pandang dokumen. API ini menyediakan fungsi panggil balik yang digunakan apabila elemen sasaran menjadi kelihatan atau tidak kelihatan.
Untuk melaksanakan fungsi ini:
const inViewport = (entries, observer) => { entries.forEach(entry => { entry.target.classList.toggle("is-inViewport", entry.isIntersecting); }); }; const observer = new IntersectionObserver(inViewport);
document.querySelectorAll('[data-inviewport]').forEach(el => { observer.observe(el, obsOptions); });
[data-inviewport="fade-in"] { transition: 2s; opacity: 0; } [data-inviewport="fade-in"].is-inViewport { opacity: 1; }
Dengan mengikut langkah-langkah ini, animasi boleh dicetuskan secara dinamik berdasarkan keterlihatan elemen dalam port pandangan, memberikan pengalaman pengguna yang lebih intuitif dan menarik semasa menatal halaman.
Atas ialah kandungan terperinci Bagaimanakah IntersectionObserver Boleh Meningkatkan Animasi CSS3 pada Tatal Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!