回答編集履歴

2

コメントを受けて追記

2018/12/05 11:21

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36134

test CHANGED
@@ -39,3 +39,41 @@
39
39
  });
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ ### コメントを受けて追記
46
+
47
+ 遅延時間を累計すればいいと思いますよ。
48
+
49
+ ```js
50
+
51
+ $(function() {
52
+
53
+ var $allMsg = $('h1');
54
+
55
+ var $wordList = $('h1').html().split("");
56
+
57
+ $('h1').text("");
58
+
59
+ var i = 0;
60
+
61
+ $.each($wordList, function(idx, elem) {
62
+
63
+ var newEL = $("<span/>").text(elem).css({ opacity: 0 });
64
+
65
+ newEL.appendTo($allMsg);
66
+
67
+ i += 100;
68
+
69
+ if (elem=='、') i += 1000;
70
+
71
+ newEL.delay(i);
72
+
73
+      newEL.animate({ opacity: 1 }, 1100);
74
+
75
+ });
76
+
77
+ });
78
+
79
+ ```

1

コメントを受けて追記

2018/12/05 11:21

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36134

test CHANGED
@@ -3,3 +3,39 @@
3
3
  [テキストを1文字ずつフェードインさせる方法 - Qiita](https://qiita.com/Simmon/items/7ff63e61646888c8dcf3)
4
4
 
5
5
  `elem`に文字が入っていると思うのですが、何か障害がありますか?
6
+
7
+
8
+
9
+ ### コメントを受けて追記
10
+
11
+ `delay()`メソッドは、カッコの中の数字分だけアニメーションを遅らせる効果があります。
12
+
13
+ なので、句読点の場合だけ遅らせるには、カッコの中の数字を大きくすればいいです。
14
+
15
+ ```js
16
+
17
+ $(function() {
18
+
19
+ var $allMsg = $('h1');
20
+
21
+ var $wordList = $('h1').html().split("");
22
+
23
+ $('h1').text("");
24
+
25
+ $.each($wordList, function(idx, elem) {
26
+
27
+ var newEL = $("<span/>").text(elem).css({ opacity: 0 });
28
+
29
+ newEL.appendTo($allMsg);
30
+
31
+ newEL.delay(idx * 100);
32
+
33
+ if (elem=='、') newEL.delay(1000); // ここ
34
+
35
+      newEL.animate({ opacity: 1 }, 1100);
36
+
37
+ });
38
+
39
+ });
40
+
41
+ ```