Koreografi Scroll & Motion Terukur dengan GSAP dan Lenis
Membangun Transisi Halaman Halus di 60 FPS Tanpa Mengunci Scroll Pengguna
01. Target Pembelajar & Prasyarat
Creative developer dan UI/UX engineer.
02. Kompetensi Konseptual (Level 1ā2)
- āMemahami interaksi inersia Lenis dan sinkronisasi requestAnimationFrame GSAP.
03. Kompetensi Praktis & Artefak Nyata (Level 3ā4)
- āMembangun animasi pemicu scroll yang menghormati prefers-reduced-motion.
04. Aplikasi Nyata & Verifikasi
Penerapan Industri: Pengalaman scroll interaktif pada beranda Lusion Z-Automation.
Metode Verifikasi: Memeriksa FPS meter di browser dan mengaktifkan mode pengurangan gerak di pengaturan OS.
Mengapa Subjek Ini Krusial dalam Rekayasa Nyata?
Pelajari integrasi smooth scrolling Lenis dengan timeline GSAP, paralaks bermakna, dan penanganan ketat mode prefers-reduced-motion.
Dalam lingkungan produksi, kegagalan memahami batas-batas arsitektur sistem sering kali menyebabkan bug yang sulit dilacak, pemborosan biaya komputasi, atau antarmuka yang lambat bagi pengguna.
Bagaimana Sistem Sebenarnya Bekerja di Tingkat Protokol
Disiplin Gerak Berorientasi Tujuan
Gerak di web Z-Automation bukan hiasan. Gerak adalah penjelas hubungan ruang. Saat pengguna menggulir, kita menggunakan properti GPU murni (`transform` dan `opacity`) untuk mengarahkan pandangan ke informasi berikutnya.
Alur Arsitektur Sistem Otonom & Runtime
Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.
{
"input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}Koreksi Asumsi Umum vs Realitas Rekayasa
āSmooth scrolling harus membajak scroll wheel secara agresif.ā
Smooth scrolling modern (seperti Lenis) mempertahankan perilaku scroll native dan hanya menstabilkan inersia.
Implementasi Langkah-demi-Langkah
Hasil akhir yang diharapkan: Inisialisasi Lenis yang tersinkronisasi dengan requestAnimationFrame.
lab-b2-m3/ āāā scroll.js
1Inisialisasi Lenis Bersih
Loop sinkronisasi animasi.
| 1 | // scroll.js |
| 2 | import Lenis from 'lenis'; |
| 3 | |
| 4 | const lenis = new Lenis({ |
| 5 | duration: 1.2, |
| 6 | easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)), |
| 7 | smoothWheel: true |
| 8 | }); |
| 9 | |
| 10 | function raf(time) { |
| 11 | lenis.raf(time); |
| 12 | requestAnimationFrame(raf); |
| 13 | } |
| 14 | requestAnimationFrame(raf); |
Scroll inersia halus tanpa jitter.
Mengantisipasi Masalah Umum & Tantangan Ekstensi
Hentikan loop Lenis saat prefers-reduced-motion aktif.
Uji Kompetensi Mandiri & Verifikasi Hasil
Standar kelulusan Z-Automation mewajibkan skor minimum 80 / 100 Poin dengan komponen Implementasi Praktis minimal 21 / 35 Poin (60%). Jawab soal diagnostik dan centang hasil pengujian praktis Anda.
BAGIAN A // PERTANYAAN DIAGNOSTIK KONSEPTUAL & TEKNIS (40 POIN)
01.Mengapa kita wajib mematikan animasi gerak kompleks saat media query '(prefers-reduced-motion: reduce)' aktif?
BAGIAN B // DAFTAR PERIKSA HASIL IMPLEMENTASI PRAKTIS (35 POIN ā MIN. 21 POIN)
Centang item di bawah ini hanya jika Anda telah menjalankan kode di komputer Anda dan mengamati output yang benar: