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);
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); }
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
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).<pre class="brush:php;toolbar:false"><div style="opacity: {shown ? 1 : 0}"> Kandungan untuk bertukar -tukar</div>
<br>Togol
<hr><div style="transform: translateX({moved}px)">Saya kotak.</div>
<br>Gerakkannya!</pre>
<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>
<pre class="brush:php;toolbar:false"> import {spring} dari "svelte/gerakan";
const fadespring = spring (1, {kekakuan: 0.1, redaman: 0.5});
const transformspring = spring (0, {kekakuan: 0.2, redaman: 0.1});
const toggleFade = () => fadespring.update (val => (val? 0: 1));
const toggletRansform = () => transformspring.update (val => (val? 0: 500));
const snapTransform = () => transformspring.update (val => val, {hard: true});
<div style="opacity: {$fadeSpring}">Kandungan untuk pudar</div>
<br>Pudar togol
<hr><div style="transform: translateX({$transformSpring}px)">Saya kotak.</div>
<br>Gerakkannya!
Snap ke tempatnya</pre>
<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!

Tapak baru yang menarik yang dipanggil markup baru dilancarkan. Tagline: Big Tech memerhatikan anda. Kami menonton Big Tech. Kerja hebat dari upstatement. The

Saya menyiarkan mengenai menghuraikan suapan RSS di JavaScript pada hari yang lain. Saya juga menyiarkan persediaan RSS saya bercakap tentang bagaimana Feedbin berada di tengah -tengahnya.

Ketahui cara membuat blok codepen tersuai dengan pratonton untuk Sanity Studio, yang diilhamkan oleh pelaksanaan Chris Coyier untuk editor Gutenberg WordPress.

Barisan, bar, dan carta pai adalah roti dan mentega papan pemuka dan merupakan komponen asas dari mana -mana toolkit visualisasi data. Pasti, anda boleh menggunakan SVG

Kami sentiasa mencari untuk menjadikan web lebih mudah diakses. Kontras warna hanya matematik, jadi Sass dapat membantu menutup kes -kes kelebihan yang mungkin dilewatkan oleh para pereka.

Tartan adalah kain berpola yang biasanya dikaitkan dengan Scotland, terutamanya kilt bergaya mereka. Di Tartanify.com, kami mengumpulkan lebih dari 5,000 Tartan

Tidak lama dahulu, saya menyiarkan mengenai templat PHP hanya dalam PHP (yang pada dasarnya adalah sintaks Heredoc). Saya secara literal menggunakan teknik itu untuk beberapa asas super

Pernahkah anda mengklik pada imej di laman web yang membuka versi imej yang lebih besar dengan navigasi untuk melihat foto lain?


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan