LoginSignup
9
2

More than 3 years have passed since last update.

svelte/transitionでさくっと使うことができる5つのアニメーション

Posted at

はじめに

Svelte.jsではsvelte/transitionモジュールを取り込むことによって、アニメーションを使うことができる。
今回はさくっと使うことができる5つに絞ってそれぞれどのような動きになるのか、簡単に見てみる。

svelte/transition一覧

fade

名前の通りフェードアニメーションです。
svelte/transitionをインポートする際にfadeを指定することで使うことができる。
そしてfadeしたい部分にtransition:fadeを追加する。※後に続くアニメーション紹介では省略します。

<script>
  import { fade } from 'svelte/transition';
  ...

<p transition:fade>Hi Fade!</p>

fade

さらにfadedelayパラメータを渡すことによって、fadeを遅延させることが可能です。

  <p transition:fade="{{delay: 250}}">Hi Fade!</p> 

※デフォルトdelay値は0

blur

blurはfadeと少し似ているがぼかしながら消えていくアニメーション。


<script>
  import { blur } from 'svelte/transition';
</script>

...

<p transition:blur>Hi Blur!</p>

blur

また、delay意外にもdurationopacityamountといったパラーメーターがあります。

試しにopacityを500にしたとき

<p transition:blur="{{opacity: 500}}">Hi Blur! </p>

blur_no_check_opacity (1).gif

先ほどよりも不透明度が強く感じる。長く見てると気持ち悪くなりそう、、

fly

flyはパラメーターx,yのいずれかに数値を設定することでその方向に飛ばすことができる。
ちなみにパラメーターを指定しないとfadeと同じような動きになった。

xを200で指定したとき

<script>
  import { fly } from 'svelte/transition';
</script>

...

<p transition:fly="{{x: 200}}">Hi Fly!</p>

fly_no_check (1).gif

flyのパラメーターなしのとき

ちなみに先ほど言ったxyも指定しないとき

fly_no_xy

やはりfadeと同じなような気がするのでflyを使うときは注意が必要そう。

slide

slideは指定した要素をスライドさせるアニメーション

<script>
  import { slide } from 'svelte/transition';
</script>

...

<p transition:slider>Hi Slide!</p>

slide

scale

scaleは横方向にサッと消えていくようなアニメーション


<script>
  import { scale } from 'svelte/transition';
</script>

...

<p transition:scaler>Hi Scale!</p>

scale

ちなみにですが、durationパラメーターを使って数値を低く設定すると早く消えます。

durationを100に設定したとき

scale_duration

最後に

その他にもSVGと一緒に使うdrawといったものもあるので、気になる方は公式ドキュメントをみるといいかもしれません。

参考資料

API Docs • Svelte

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2