【jQuery/CSS】複数のローディングアニメーションを付ける

スポンサーリンク
ローディングアニメアイキャッチ プログラミング

こんにちは!セミマサです。

最近は凝ったアニメーションがついているサイトが多いですよね。私もアニメーションのついたサイトを作ってみたくなったので複数のローディングアニメーションを付けたデモサイトを作成してみました。

デモサイト

今回のデモサイトです。

読み込み演出→画面が開くアニメ→セミ君が回転しながら登場→吹き出しと記事へ戻るボタンが登場という流れになっています。デモページは軽いので読み込み演出は一瞬で終わってしまいますね…

※うまく動かない場合画面を更新してみてください!正常に動いている場合は下のgifのようになります。

ローディングアニメgif

HTML

今回のHTMLです。

CSS

今回のCSSになります。読み込み演出はgif画像を使っていますが、他のアニメーションはCSSのtransformプロパティtransitionプロパティを利用してつけています。

・bodyにlockクラスが付与されている間は overflow: hidden;touch-action: none;が適用され、画面のスクロールができなくなります。

jQuery

今回のjQueryです。動作について順番に解説していきます。

①:jQueryのload関数を使い、画面の読み込みが終わった時に下記二つの処理をします。

#loader-bgをhideメソッドで隠す。

load-effectクラスを持った要素にis-activeクラスを付与。

②:CSSアニメーションの終了を検知するtransitonendイベントを用いて画面が開くアニメーションが終わった時に#semikunis-activeクラスを付与しています。

③:②と同様にセミ君のアニメーションが終わった時に下記3つの処理をします。

#semikun-talkis-activeクラスを付与。

bodyからlockクラスを取り除く。

#backdisplayクラスを付与。

おわりに

無事に複数のローディングアニメーションを付けたサイトを作ることができました。ポイントは transitionendイベントですね!

読み込み中に表示しているgif画像は下記のサイトで作成しました。

タイトルとURLをコピーしました