回答編集履歴

2

コード追記

2021/02/26 16:03

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -63,3 +63,45 @@
63
63
  });
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+ ---
70
+
71
+ 矢印もアニメーションにした方が自然な感じになると思いますので、
72
+
73
+ 矢印はCSSでフリップアニメーションにしてみました。
74
+
75
+
76
+
77
+ ```css
78
+
79
+ .question-accordion li .fas {
80
+
81
+ transition: transform .5s;
82
+
83
+ }
84
+
85
+ .question-accordion li.open .fas {
86
+
87
+ transform: rotatex(180deg);
88
+
89
+ }
90
+
91
+ ```
92
+
93
+
94
+
95
+ ```js
96
+
97
+ $(function () {
98
+
99
+ $(".question-accordion li").click(function () {
100
+
101
+ $(this).toggleClass("open").find(".kakusu").slideToggle();
102
+
103
+ });
104
+
105
+ });
106
+
107
+ ```

1

コード追記

2021/02/26 16:03

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -37,3 +37,29 @@
37
37
  });
38
38
 
39
39
  ```
40
+
41
+
42
+
43
+ ---
44
+
45
+ toggle系メソッドと三項演算子を使うとifを使わずにシンプルに記述できます。
46
+
47
+
48
+
49
+ ```js
50
+
51
+ $(function () {
52
+
53
+ $(".question-accordion li").click(function () {
54
+
55
+ $(this).toggleClass("open").find(".kakusu").slideToggle();
56
+
57
+ var dir = $(this).hasClass("open") ? "up" : "down";
58
+
59
+ $(this).find(".miseru span").html(`<i class="fas fa-angle-${dir}"></i>`);
60
+
61
+ });
62
+
63
+ });
64
+
65
+ ```