Jadual Kandungan
Permulaan cepat dengan penyimpanan svelte
Nilai {$ klik}
Kursus Crash Spring
Rumah hujung hadapan web tutorial css Animasi svelte dan musim bunga

Animasi svelte dan musim bunga

Mar 28, 2025 pm 12:20 PM

Animasi Svelte dan Spring

Animasi musim bunga adalah cara terbaik untuk membawa interaksi UI ke kehidupan. Daripada mengubah sifat pada kadar yang tetap dalam tempoh masa, animasi musim bunga menggunakan fizik musim bunga untuk memindahkan sesuatu, memberi orang kesan objek sebenar bergerak dan memberi pengguna pengalaman yang lebih semula jadi.

Saya telah menulis mengenai animasi musim bunga sebelum ini. Artikel itu berdasarkan React dan menggunakan reaksi-spring untuk animasi. Artikel ini akan meneroka idea yang sama di Svelte.

Pemaju CSS! Apabila mengawal kesan animasi, anda biasanya memikirkan pelonggaran. Anda boleh memikirkan animasi "musim bunga" sebagai subkategori pelonggaran berdasarkan fizik dunia sebenar.

Svelte sebenarnya mempunyai mata air yang dibina ke dalam bingkai tanpa mana -mana perpustakaan luaran yang diperlukan. Kami akan mengkaji separuh pertama artikel sebelumnya mengenai React-Spring. Tetapi selepas itu, kami akan menggali semua penggunaan mata air di Svelte dan meninggalkan pelaksanaan sebenar ke artikel masa depan. Walaupun ini mungkin kelihatan mengecewakan, Svelte mempunyai beberapa ciri unik yang tidak dijumpai dalam React untuk mengintegrasikan dengan berkesan dengan primitif animasi ini. Kami akan mengambil sedikit masa untuk membincangkannya.

Satu lagi perkara yang perlu diperhatikan: beberapa demonstrasi yang diselingi dalam artikel ini mungkin kelihatan pelik, kerana saya mengkonfigurasi mata air untuk menjadi "elastik" untuk menghasilkan kesan yang lebih ketara. Jika anda telah menggunakan sebarang kod demo, pastikan anda mencari konfigurasi musim bunga yang berfungsi untuk anda.

Ini adalah repl hebat yang dibuat oleh Rich Harris untuk mempamerkan pelbagai konfigurasi musim bunga dan tingkah laku mereka.

Permulaan cepat dengan penyimpanan svelte

Sebelum kita memulakan, mari kita lihat dengan cepat penyimpanan svelte. Walaupun komponen Svelte mampu menyimpan dan mengemas kini keadaan, Svelte juga mempunyai konsep penyimpanan, yang membolehkan anda menyimpan negeri di luar komponen. Oleh kerana API Spring Svelte menggunakan penyimpanan, kami akan menutup bahagian pentingnya di sini.

Untuk membuat contoh penyimpanan, kami boleh mengimport jenis yang boleh ditulis dan mencipta seperti ini:

 import {wrable} dari "svelte/store";
const clicks = wrable (0);
Salin selepas log masuk

Pemboleh ubah klik adalah kedai dengan nilai 0. Terdapat dua cara untuk menetapkan nilai baru yang disimpan: kaedah set dan kemas kini. Bekas menerima nilai yang akan ditetapkan untuk disimpan, sementara yang terakhir menerima fungsi panggil balik yang menerima nilai semasa dan mengembalikan nilai baru.

 peningkatan fungsi () {
  clicks.update (val => val 1);
}
fungsi setTo5 () {
  clicks.set (5);
}
Salin selepas log masuk

Sekiranya anda tidak boleh menggunakan keadaan ini, maka keadaan tidak berguna. Untuk melakukan ini, kedai menyediakan kaedah melanggan yang membolehkan anda menerima pemberitahuan nilai -nilai baru -tetapi apabila menggunakannya dalam komponen, anda boleh mengutamakan nama penyimpanan dengan aksara $, yang memberitahu Svelte bukan sahaja untuk memaparkan nilai semasa yang disimpan, tetapi juga untuk mengemas kini apabila ia berubah. Contohnya:

<h1 id="Nilai-klik"> Nilai {$ klik}</h1>
Kenaikan
Ditetapkan ke 5
Salin selepas log masuk

Ini adalah contoh kod kerja lengkap. Penyimpanan menyediakan banyak ciri lain seperti penyimpanan yang diperoleh (yang membolehkan anda menghubungkan storan bersama -sama), storan yang boleh dibaca, dan juga keupayaan untuk diberitahu apabila storan pertama kali diperhatikan dan tidak lagi mempunyai pemerhati. Tetapi untuk tujuan artikel ini, kod yang ditunjukkan di atas adalah semua yang kita perlu perhatikan. Sila rujuk dokumentasi Svelte atau tutorial interaktif untuk maklumat lanjut.

Kursus Crash Spring

Mari kita cepat memperkenalkan musim bunga dan fungsinya. Kami akan melihat UI mudah yang mengubah aspek rendering unsur -unsur tertentu (kelegapan dan transformasi) dan kemudian melihat perubahan animasi.

Ini adalah komponen svelte minimum yang beralih ke satu<div> Kelegapan dan beralih ke yang lain<code><div> Penukaran paksi x (tanpa sebarang animasi).<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;div style=&quot;opacity: {shown ? 1 : 0}&quot;&gt; Kandungan untuk bertukar -tukar&lt;/div&gt; &lt;br&gt;Togol &lt;hr&gt;&lt;div style=&quot;transform: translateX({moved}px)&quot;&gt;Saya kotak.&lt;/div&gt; &lt;br&gt;Gerakkannya!</pre><div class="contentsignin">Salin selepas log masuk</div></div> <p> Perubahan ini berlaku dengan serta -merta, jadi mari kita lihat bagaimana untuk menghidupkannya. Di sinilah musim bunga masuk. Di Svelte, musim bunga adalah penyimpanan di mana kita dapat menetapkan nilai yang dikehendaki, tetapi ia tidak berubah dengan segera, tetapi sebaliknya menyimpan nilai secara beransur -ansur diubah menggunakan fizik musim bunga. Kami kemudian boleh mengikat UI kami ke nilai berubah ini untuk mendapatkan kesan animasi yang bagus. Mari lihat bagaimana ia berfungsi.</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> import {spring} dari &quot;svelte/gerakan&quot;; const fadespring = spring (1, {kekakuan: 0.1, redaman: 0.5}); const transformspring = spring (0, {kekakuan: 0.2, redaman: 0.1}); const toggleFade = () =&gt; fadespring.update (val =&gt; (val? 0: 1)); const toggletRansform = () =&gt; transformspring.update (val =&gt; (val? 0: 500)); const snapTransform = () =&gt; transformspring.update (val =&gt; val, {hard: true}); &lt;div style=&quot;opacity: {$fadeSpring}&quot;&gt;Kandungan untuk pudar&lt;/div&gt; &lt;br&gt;Pudar togol &lt;hr&gt;&lt;div style=&quot;transform: translateX({$transformSpring}px)&quot;&gt;Saya kotak.&lt;/div&gt; &lt;br&gt;Gerakkannya! Snap ke tempatnya</pre><div class="contentsignin">Salin selepas log masuk</div></div> <p> Kami mendapat fungsi musim bunga dari Svelte dan menetapkan contoh musim bunga yang berbeza untuk kelegapan dan animasi transformasi. Konfigurasi musim bunga penukaran sengaja ditetapkan untuk menjadi <em>sangat elastik</em> untuk membantu menunjukkan kemudian bagaimana untuk sementara menutup animasi musim bunga dan memohon perubahan yang diperlukan dengan segera (ini akan berguna kemudian). Pada akhir blok skrip adalah pengendali klik yang digunakan untuk menetapkan sifat yang diperlukan. Kemudian, dalam HTML, kami mengikat nilai yang berubah terus ke elemen kami ... itu sahaja! Itu semua mengenai animasi musim bunga asas di Svelte.</p> <p> Satu -satunya item yang tinggal adalah fungsi SnapTransform, yang kami tetapkan musim bunga penukaran kepada nilai semasa, tetapi juga lulus objek sebagai parameter kedua, di mana keras: benar. Ini mempunyai kesan menggunakan nilai yang diperlukan dengan segera tanpa sebarang animasi.</p> <p> Demo ini dan selebihnya contoh asas yang akan kita lihat dalam artikel ini ada di sini: [pautan demo harus dimasukkan di sini]</p> <p> ... (Pseudo-asal dari seluruh artikel menyimpan makna asal tidak berubah, dan mengekalkan kedudukan dan format gambar)</p> </div>

Atas ialah kandungan terperinci Animasi svelte dan musim bunga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Ia &#039; s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That &#039; s seperti ini.

Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

Saya &#039;

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Apr 02, 2025 am 04:27 AM

Jika kita perlu menunjukkan dokumentasi kepada pengguna secara langsung dalam editor WordPress, apakah cara terbaik untuk melakukannya?

Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Apr 05, 2025 pm 05:51 PM

Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

Bagaimana untuk memilih elemen kanak -kanak dengan item nama kelas pertama melalui CSS? Bagaimana untuk memilih elemen kanak -kanak dengan item nama kelas pertama melalui CSS? Apr 05, 2025 pm 11:24 PM

Apabila bilangan elemen tidak ditetapkan, bagaimana untuk memilih elemen anak pertama nama kelas yang ditentukan melalui CSS. Semasa memproses struktur HTML, anda sering menghadapi unsur yang berbeza ...

See all articles