0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【 jQuery 】タイピングアニメーションを実装

Posted at

はじめに

ポートフォリオサイトの見栄えをよくするため、jQueryのプラグインを使いタイピングアニメーションを実装しました。
ものすごく簡単に出来たので備忘録としてまとめたいと思います。

実装イメージ↓
ezgif.com-gif-maker (1).gif

目次

1.htmlの記述
2.cssの記述
3.jQueryの記述

1. htmlの記述

index.html
<body>
  <div class="typing">
    <div class="typed_wrap">
      <h1><span class="typed"></span></h1>
</body>

2. cssの記述

style.css
.typing {
    height: 100%;
    width: 100vw;
    position: relative;
    background-image: url('images/my-icon.JPG');
    background-size: 100vw 100vh;
 }
 .typed_wrap {
   position: absolute;
   width: 100vw;
   text-align: center;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   background: rgba(7, 6, 6, 0.5);
 }
 .typed_wrap h1 {
   color: #FFF;
   font-family: 'Times New Roman', Times, serif;
   font-size: 3rem;
   height: 200px;
   line-height: 200px;
 }
 .typed::after {
   content: "|";
   animation: blink 0.7s infinite;
 }
 @keyframes blink {
   50%{opacity: 0;}
 }

typing

背景画像になる一番下の層です。
cssで画面いっぱいまで広げます。
また上の層のtyped_wrapの位置調整のためにposition:relativeを設定します。

typed_wrap

position:absoluteで画面中央になるように位置を調整します。
text-align:centerでタイピングされる文字が中央になるように設定。
backgroundで背景を半透明になるように調整

typed_wrap h1

文字の大きさや文字の色、字体はお好みで調整可能です。
heightline-heightの値を一致させて上下も中央になるように設定します。

typed::after

spanタグに擬似クラスを付与してタイピングされた文字の最後にバーを設置します。
アニメーションの内容はお好みですが、今回はblinkを設定し、0.7秒毎に点滅するようにします。
@keyframesでアニメーションの開始から終了までの詳細を設定出来ます。
50%{opacity: 0;}と記述することでアニメーションの中間地点で透明になるという意味になります。
詳しくはこの記事が参考になります

3. jQueryの記述

まずは、jQueryとTyped.jsというプラグインを読み込みます。
bodyの閉じタグの前に記述します。
これでjsファイルでTyped.jsのメソッドを使えるようになります。

index.html
<body>
.
.
.
  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/typed.js/1.1.1/typed.min.js"></script>
</body>

jQueryを記述します

index.js
$(function() {
  //タイピングアニメーション
  $('.typed').typed({
    strings: ["welcome to My Portfolio.", "Let's scroll down."],
    typeSpeed: 100,
    startDelay: 1000,
    backSpeed: 20,
    loop: true,
    loopCount: Infinity,
    showCursor: false,
    backDelay: 500
  });
});

$('.typed')でspanタグの要素をとってきます。.typedがプラグインで使えるメソッドです。

設定できる内容は以下の通りです。

  • strings: タイピング入力させる文字を指定します。
  • typeSpeed: タイピングのスピードを指定します。
  • startDelay: タイピングがスタートするまでの時間を指定します。
  • backSpeed: バック(文字を削除)するスピードを指定します。
  • backDelay: バック(文字を削除)するまでの時間を指定します。
  • loop: タイピングをループさせるかを指定します。(true、false)
  • showCursor: カーソル文字を指定します。
  • loopCount: ループさせる回数を指定します。
  • contentType: テキストがhtmlかtextかを指定します。

ここまででタイピングアニメーションを実装できると思います!
js部分の数値もお好みで調整可能です。

おわりに

実装は以上になります!
最後まで読んでいただきありがとうございました!
お疲れさまでした。。。

0
3
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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?