.eachTextAnimeの要素にdate属性で、遅延秒数を設定しておいて、
html
1<p class="eachTextAnime" data-delay="0">テキストが1文字ずつ出てきます</p>
2<p class="eachTextAnime" data-delay="1">テキストが1文字ずつ出てきます</p>
3<p class="eachTextAnime" data-delay="2">テキストが1文字ずつ出てきます</p>
JSの方で、animation-delay: にこの遅延秒数を加算すればどうでしょう。
js/jQuery
1// 画面をスクロールをしたら動かしたい場合の記述
2$(window).scroll(function () {
3 EachTextAnimeControl();/* アニメーション用の関数を呼ぶ*/
4});// ここまで画面をスクロールをしたら動かしたい場合の記述
5
6// 画面が読み込まれたらすぐに動かしたい場合の記述
7$(window).on('load', function () {
8 //spanタグを追加する
9 var element = $(".eachTextAnime");
10
11 element.each(function () {
12 var delay = Number($(this).data('delay'));
13 var text = $(this).text();
14 var textbox = "";
15 text.split('').forEach(function (t, i) {
16 if (t !== " ") {
17 var d = i / 10 + delay;
18 textbox += '<span style="animation-delay:' + d + 's;">' + t + '</span>';
19 } else {
20 textbox += t;
21 }
22 });
23 $(this).html(textbox);
24 });
25
26 EachTextAnimeControl();/* アニメーション用の関数を呼ぶ*/
27});// ここまで画面が読み込まれたらすぐに動かしたい場合の記述
CodePenサンプル
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/08/28 06:21