実際のサンプルでアニメーション解説 [ホームセキュリティ編]【CSS/JS】

  • このエントリーをはてなブックマークに追加


WEBサイト作成時にこのアニメーションがよくわからない…ということがあると思います。
今回は弊社で作成した、ホームセキュリティサイトのサンプルを使用しながら解説していきます。
初心者向けの記事です。

参考にするサンプルサイトはこちらから

サンプルサイト

inview.jsを読み込ませる

今回は場所によっては『inview.js』というライブラリを読み込ませて、使用しています。
これを使うとスクロールをして表示領域に入った時にイベントを発生させることができます。


一緒にjqueryの読み込みもさせてください。
CDNも配布されていますが、3x系のjqueryで動作しないので、使用しているものによってはDLして使用するのが無難です。

あとは読み込ませたすぐ下にこのように記述しておきます。
記述の内容としては、まず『inview』というclassをトリガーにします。
このトリガーが視界に入ったら『is-show』というclassを付与します。これが付与されることでアニメーションイベントを発生させることができます。


おそらく表示するタイミングを調整したいことも多いと思うので、領域内に表示したらクラスを付与する系のjsなどであればinview.jsでなくてもご都合のよいものに差し替えてOKです。

では一つひとつ解説していきましょう。

各要素をフェードインして表示させる


このように各要素をフェードインして表示させる方法のご紹介です。

HTML



CSS



根本的な要素の装飾は今回は省略して、アニメーションについてのみ解説します。
まずはli一つひとつに対して.inview をつけましょう。
上記で説明した通り、inviewのトリガーになります。

そして今回登場したした.fadeInUp
ここでふわっと下から上に表示させるアニメーションの設定を行っています。
.is-show が付与されたらキーフレームで設定したアニメーションさせる、という感じになっています。
以降でも使用するので、共通で使えるようにしておくと便利です。

リストの2個目以降に付与されているtd1 td1_5
こちらはアニメーションの開始のタイミングを最初のものから少しずらしています。
これで一気に表示されることなく、次々と要素が表示されるアニメーションが実現できます。

これで『各要素をフェードインして表示させる』の完成です。


マウスホバーでボタンのグラデーションを動かす

マウスホバーしたときに、背景のグラデーションを動かす方法です。

HTML



CSS


ここではinviewはボタン全体を表示するのに使用しているだけで、ホバー時のアニメーションには使用していません。

アニメーションの仕組みですが、背景のグラデーションのbackground-sizeを最初大きめに取っておいて、background-positionをずらして再現しています。
図解すると以下のような感じです。

矢印のアニメーションやscaleなどはお好みで調整してください。
また、以前のブログでも解説をしているのでそちらもチェックしてみてください。

これで『マウスホバーでボタンのグラデーションを動かす』の完成です。


アコーディオン

次にアコーディオンの要素です。
こちらはJSを使用します。

HTML


CSS


JS



JSで.q-open というclassが付与されれいる要素をクリックすると、そのすぐ隣にある.ans が開くようになっています。

また、.q-openの親要素のliに対して.active が付くようにしています。
これで、CSSの指定でクリックされたら右側にあるプラスのアイコンがマイナス(閉じるボタン)に変化します。そのほか必要に応じてactive 時の装飾もできます。

これで『アコーディオン』の完成です。



ぜひ参考にしていろいろ試してみてください!

サンプルサイト

弊社のLP制作について


執筆者:工藤[ WEBデザイナー ]

WEBデザイナー。 最近はWordPressを触るのが好きです。よろしくお願いします。

関連記事

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

プログラミング

【PHP】ソーシャルログインに対応したお話(LINEログイン編) ②

前回はLINE Developersでチャネル登録までを行いました。 今回は実際にPHPでログインを実装していきます。 目次1 初期設定を定数にする2 LINE ログインのURLを作成する3 コールバック時の処理4 最後に 初期設定を定数にする 最初にdefineでチャネル登録した情報やAPIのURLを定義します。 メールアドレスを取得したい場合はLINE_SCOPEに「email」を追記してください。 LINE ログインのURLを作成する LINEログインに利用するログイン […]

Webサービス

【PHP】ソーシャルログインに対応したお話(LINEログイン編) ①

今回はLINEログインです。 LINEログインは他のソーシャルログインと違って、電話番号必須なので、ユーザーがアカウントを無限に発行するということがなく、しかもOSに関係なくアカウントを使用できるので、特にB2Cサービスを考える場合には是非導入を進めたいと思います。 逆に法人サービスで使う場合、法人担当者が個人のLINEアカウントを使用することはないと思うので、あくまで個人向けサービスがよいかなと思います。 LINEログインについての概要はこちらに詳しく書いています。 htt […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。