回答編集履歴

1

chousei

2020/07/24 16:20

投稿

yambejp
yambejp

スコア116849

test CHANGED
@@ -3,3 +3,139 @@
3
3
  const btn = document.querySelector('.btn');
4
4
 
5
5
  ```
6
+
7
+
8
+
9
+ # 追記
10
+
11
+ 複数のmenuを想定しているならこんな感じ
12
+
13
+ OPEN/CLOSEを意識すること。
14
+
15
+ 非表示は高さの設定よりdisplayでやるほうが一般的です。
16
+
17
+
18
+
19
+ ```javascript
20
+
21
+ <script>
22
+
23
+ window.addEventListener('DOMContentLoaded',()=>{
24
+
25
+ document.querySelectorAll('.menu').forEach(x=>{
26
+
27
+ x.style.display="none";
28
+
29
+ });
30
+
31
+ document.querySelectorAll('.btn').forEach(x=>{
32
+
33
+ x.addEventListener('click',e=>{
34
+
35
+ var flg=x.textContent=="OPEN";
36
+
37
+ x.nextElementSibling.style.display=flg?"initial":"none";
38
+
39
+ x.textContent=flg?"CLOSE":"OPEN";
40
+
41
+ });
42
+
43
+ });
44
+
45
+ });
46
+
47
+ </script>
48
+
49
+ <div class="contentsWrap">
50
+
51
+ <p class="btn">OPEN</p>
52
+
53
+ <ul class="menu">
54
+
55
+ <li>menu</li>
56
+
57
+ <li>menu02</li>
58
+
59
+ <li>menu03</li>
60
+
61
+ <li>menu04</li>
62
+
63
+ <li>menu05</li>
64
+
65
+ <li>menu06</li>
66
+
67
+ </ul>
68
+
69
+ </div>
70
+
71
+ <div class="contentsWrap">
72
+
73
+ <p class="btn">OPEN</p>
74
+
75
+ <ul class="menu">
76
+
77
+ <li>menu</li>
78
+
79
+ <li>menu02</li>
80
+
81
+ <li>menu03</li>
82
+
83
+ <li>menu04</li>
84
+
85
+ <li>menu05</li>
86
+
87
+ <li>menu06</li>
88
+
89
+ </ul>
90
+
91
+ </div>
92
+
93
+
94
+
95
+ </script>
96
+
97
+ <div class="contentsWrap">
98
+
99
+ <p class="btn">OPEN</p>
100
+
101
+ <ul class="menu">
102
+
103
+ <li>menu</li>
104
+
105
+ <li>menu02</li>
106
+
107
+ <li>menu03</li>
108
+
109
+ <li>menu04</li>
110
+
111
+ <li>menu05</li>
112
+
113
+ <li>menu06</li>
114
+
115
+ </ul>
116
+
117
+ </div>
118
+
119
+ <div class="contentsWrap">
120
+
121
+ <p class="btn">OPEN</p>
122
+
123
+ <ul class="menu">
124
+
125
+ <li>menu</li>
126
+
127
+ <li>menu02</li>
128
+
129
+ <li>menu03</li>
130
+
131
+ <li>menu04</li>
132
+
133
+ <li>menu05</li>
134
+
135
+ <li>menu06</li>
136
+
137
+ </ul>
138
+
139
+ </div>
140
+
141
+ ```