【SWELL】動くブログデザインカスタマイズ:ふきだしを動かす 応用編

動くブログデザインカスタマイズ ふきだしをふわっと動かす その2

こんにちは、ずきっちです。

動きのあるブログの作り方を紹介するシリーズの2回目になります。

前回はふきだしをふわっと表示する方法について紹介しました。

その場でふわっと表示させることはできたけど、他の動きをつけることはできないのかな?

もちろん、他の動きを設定することも可能です。

今回はいくつか動かし方のパターンを紹介したいなと思います。

目次

CSSコードの参考サイト

当記事で紹介しているCSSのコードは下記のサイトのものを参考にしています。

下記サイトで紹介されているような動きを、ブログ(WordPress)で実現するためにはどうすればよいかを当記事では紹介します。

※ブログ上で動きがわかりやすいように、アニメーションの時間や動く幅の数値を変更しています。

CSSとJavaScriptの適用範囲について

どの記事にも反映させたい場合

※前回の記事で紹介した方法になります。

CSSについては、テーマエディターでスタイルシート(style.css)を編集します。

テーマエディターでスタイルシートを選択

JavaScriptについては、専用のファイルを用意してサーバーにアップロードし、それを読み込ませる必要があります。

どの記事にも使用したいアニメーションを用意する場合は、この方法で編集しましょう。

記事を投稿するたびに毎回カスタムCSS&JSの入力欄を編集する手間を省くことができます。

詳しくはこちらの記事を参考にしてください。

その記事だけに反映させたい場合

投稿の編集画面下部に用意されている「カスタムCSS&JS」を編集します。

カスタムCSS&JSの場所

JavaScriptのファイルを自分で用意して、サーバーにアップロードするという手間をかけずに反映することができます。

ほかの記事では特に使用しないようなアニメーションを反映させる場合は、この方法が手っ取り早いかと思います。

CSSとJavaScriptの編集

ふわっと表示

前回の記事では、その場でふわっと表示させていましたが、移動しながらふわっと表示させることもできます。

下記4パターンを紹介したいなと思います。

  • 下から動かす場合
  • 上から動かす場合
  • 左から動かす場合
  • 右から動かす場合

下から(2秒で100px動かす)

下から動かす場合のCSSに記述する内容です。

/* 下から */
.fadeUp100{
  animation-name:fadeUp100Anime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUp100Anime{
  from {
    opacity: 0;
	  transform: translateY(100px);
  }
  to {
    opacity: 1;
	  transform: translateY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.fadeUp100Trigger {
  opacity: 0;
}

秒数の指定を2秒以外にしたい場合は、4行目のanimation-durationの値を変更してください。

整数値だけでなく小数値も指定可能です。(1.5秒にしたい場合→1.5s)

また、もっと下から動かしたい場合は11行目のtranslateYのカッコの中の値を変更してください。(100px→200pxなど)

こちらはJavaScriptに記述する内容です。

jQuery(function ($) {
  // 動きのきっかけとなるアニメーションの名前を定義
  function fadeAnime() {
    // ふわっ(下から)
    $(".fadeUp100Trigger").each(function () {
      //fadeUp100Trigger というクラス名が
      var elemPos = $(this).offset().top - 50; //要素より、50px上の
      var scroll = $(window).scrollTop();
      var windowHeight = $(window).height();
      if (scroll >= elemPos - windowHeight) {
        $(this).addClass("fadeUp100");
      } else {
        $(this).removeClass("fadeUp100");
      }
    });
  }
  // 画面をスクロールをしたら動かしたい場合の記述
  $(window).scroll(function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面をスクロールをしたら動かしたい場合の記述

  // 画面が読み込まれたらすぐに動かしたい場合の記述
  $(window).on("load", function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面が読み込まれたらすぐに動かしたい場合の記述
});

あとは投稿の編集ページで、動かしたい吹き出しを選択して「高度な設定」の「追加CSSクラス」入力欄に「fadeUp100Trigger」と入力してあげればOKです。

この内容で動きをつけた吹き出しです。

下からふわっと表示

上から(2秒で100px動かす)

上から動かす場合のCSSに記述する内容です。

/* 上から */
.fadeDown100{
  animation-name:fadeDown100Anime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeDown100Anime{
  from {
    opacity: 0;
	  transform: translateY(-100px);
  }
  to {
    opacity: 1;
	  transform: translateY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.fadeDown100Trigger {
  opacity: 0;
}

下から動かす場合と異なる箇所は11行目のtranslateYの値のみです。

マイナスの値を指定することで、要素を上から動かすことができます。

こちらはJavaScriptに記述する内容です。

jQuery(function ($) {
  // 動きのきっかけとなるアニメーションの名前を定義
  function fadeAnime() {
    // ふわっ(上から)
    $(".fadeDown100Trigger").each(function () {
      //fadeDown100Trigger というクラス名が
      var elemPos = $(this).offset().top - 50; //要素より、50px上の
      var scroll = $(window).scrollTop();
      var windowHeight = $(window).height();
      if (scroll >= elemPos - windowHeight) {
        $(this).addClass("fadeDown100");
      } else {
        $(this).removeClass("fadeDown100");
      }
    });
  }
  // 画面をスクロールをしたら動かしたい場合の記述
  $(window).scroll(function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面をスクロールをしたら動かしたい場合の記述

  // 画面が読み込まれたらすぐに動かしたい場合の記述
  $(window).on("load", function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面が読み込まれたらすぐに動かしたい場合の記述
});

あとは投稿の編集ページで、動かしたい吹き出しを選択して「高度な設定」の「追加CSSクラス」入力欄に「fadeDown100Trigger」と入力してあげればOKです。

この内容で動きをつけた吹き出しです。

上からふわっと表示

左から(2秒で100px動かす)

左から動かす場合のCSSに記述する内容です。

/* 左から */
.fadeLeft100{
  animation-name:fadeLeft100Anime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeLeft100Anime{
  from {
    opacity: 0;
	  transform: translateX(-100px);
  }
  to {
    opacity: 1;
	  transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.fadeLeft100Trigger {
  opacity: 0;
}

上から動かす場合、下から動かす場合と異なる箇所は11行目の指定がtranslateYからtranslateXになった点です。

X軸で要素を動かすことができ、from句にマイナスの値を指定することで、要素を左から動かすことができます。

こちらはJavaScriptに記述する内容です。

jQuery(function ($) {
  // 動きのきっかけとなるアニメーションの名前を定義
  function fadeAnime() {
    // ふわっ(左から)
    $(".fadeLeft100Trigger").each(function () {
      //fadeLeft100Trigger というクラス名が
      var elemPos = $(this).offset().top - 50; //要素より、50px上の
      var scroll = $(window).scrollTop();
      var windowHeight = $(window).height();
      if (scroll >= elemPos - windowHeight) {
        $(this).addClass("fadeLeft100");
      } else {
        $(this).removeClass("fadeLeft100");
      }
    });
  }
  // 画面をスクロールをしたら動かしたい場合の記述
  $(window).scroll(function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面をスクロールをしたら動かしたい場合の記述

  // 画面が読み込まれたらすぐに動かしたい場合の記述
  $(window).on("load", function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面が読み込まれたらすぐに動かしたい場合の記述
});

あとは投稿の編集ページで、動かしたい吹き出しを選択して「高度な設定」の「追加CSSクラス」入力欄に「fadeLeft100Trigger」と入力してあげればOKです。

この内容で動きをつけた吹き出しです。

左からふわっと表示

右から(2秒で100px動かす)

右から動かす場合のCSSに記述する内容です。

/* 右から */
.fadeRight100{
  animation-name:fadeRight100Anime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRight100Anime{
  from {
    opacity: 0;
	  transform: translateX(100px);
  }
  to {
    opacity: 1;
	  transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.fadeRight100Trigger {
  opacity: 0;
}

上から動かす場合、下から動かす場合と異なる箇所は11行目の指定がtranslateYからtranslateXになった点です。

X軸で要素を動かすことができ、from句にプラスの値を指定することで、要素を右から動かすことができます。

こちらはJavaScriptに記述する内容です。

jQuery(function ($) {
  // 動きのきっかけとなるアニメーションの名前を定義
  function fadeAnime() {
    // ふわっ(右から)
    $(".fadeRight100Trigger").each(function () {
      //fadeRight100Trigger というクラス名が
      var elemPos = $(this).offset().top - 50; //要素より、50px上の
      var scroll = $(window).scrollTop();
      var windowHeight = $(window).height();
      if (scroll >= elemPos - windowHeight) {
        $(this).addClass("fadeRight100");
      } else {
        $(this).removeClass("fadeRight100");
      }
    });
  }
  // 画面をスクロールをしたら動かしたい場合の記述
  $(window).scroll(function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面をスクロールをしたら動かしたい場合の記述

  // 画面が読み込まれたらすぐに動かしたい場合の記述
  $(window).on("load", function () {
    fadeAnime(); /* アニメーション用の関数を呼ぶ*/
  }); // ここまで画面が読み込まれたらすぐに動かしたい場合の記述
});

あとは投稿の編集ページで、動かしたい吹き出しを選択して「高度な設定」の「追加CSSクラス」入力欄に「fadeRight100Trigger」と入力してあげればOKです。

この内容で動きをつけた吹き出しです。

右からふわっと表示

アニメーションを1記事に複数使用したい場合

ここまで紹介したアニメーションを複数同時に「カスタムCSS&JS」の欄に記述することで、1記事内で複数のアニメーションを使用することも可能です。

CSSの場合は、以下のようにそのまま続けて記述すれば問題ありません。

カスタムCSSのサンプル

JavaScriptの場合は、fadeAnime()の関数の中に、動くきっかけの記述を追加してあげます。

function fadeAnime() {

・1つ目のアニメーションの記述

・2つ目のアニメーションの記述

・3つ目の…

}

カスタムJSのサンプル
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次