回答編集履歴

1

\[ALL OPEN\], \[ALL CLOSE\] ボタンを追加

2017/05/02 01:11

投稿

think49
think49

スコア18162

test CHANGED
@@ -2,7 +2,125 @@
2
2
 
3
3
 
4
4
 
5
- - [aria-hidden属性値をtoggle - JSFiddle](https://jsfiddle.net/Ltjy1uko/)
5
+ - [aria-hidden属性値をtoggle - JSFiddle](https://jsfiddle.net/Ltjy1uko/1/)
6
+
7
+
8
+
9
+ ```HTML
10
+
11
+ <style>
12
+
13
+ .mask {
14
+
15
+ color: black;
16
+
17
+ background-color: white;
18
+
19
+ cursor: pointer;
20
+
21
+ }
22
+
23
+
24
+
25
+ .mask[aria-hidden="true"] {
26
+
27
+ color: black;
28
+
29
+ background-color: black;
30
+
31
+ }
32
+
33
+ </style>
34
+
35
+ </head>
36
+
37
+ <body>
38
+
39
+ <p id="mask-switch">
40
+
41
+ <input type="button" id="all-open" value="ALL OPEN">
42
+
43
+ <input type="button" id="all-close" value="ALL CLOSE">
44
+
45
+ </p>
46
+
47
+
48
+
49
+ <h3>神経系とは</h3>
50
+
51
+ <p>神経系とは、中枢では<span class="mask" aria-hidden="true">脳と脊髄</span>、末梢では<span class="mask" aria-hidden="true">運動</span>神経・<span class="mask" aria-hidden="true">感覚</span>神経・<span class="mask" aria-hidden="true">自律</span>神経という神経組織からなる。</p>
52
+
53
+
54
+
55
+ <script>
56
+
57
+ 'use strict';
58
+
59
+ document.querySelectorAll('.mask').forEach(function (element) {
60
+
61
+ element.addEventListener('click', function (event) {
62
+
63
+ var element = event.target;
64
+
65
+
66
+
67
+ element.setAttribute('aria-hidden', element.getAttribute('aria-hidden') === 'true' ? 'false' : 'true');
68
+
69
+ }, false);
70
+
71
+ });
72
+
73
+
74
+
75
+ document.getElementById('mask-switch').addEventListener('click', function handleClick (event) {
76
+
77
+ var input = event.target, ariaHidden;
78
+
79
+
80
+
81
+ switch (input.id) {
82
+
83
+ case 'all-open':
84
+
85
+ ariaHidden = 'false';
86
+
87
+ break;
88
+
89
+ case 'all-close':
90
+
91
+ ariaHidden = 'true';
92
+
93
+ break;
94
+
95
+ }
96
+
97
+
98
+
99
+ if (ariaHidden) {
100
+
101
+ for (var elements = document.querySelectorAll('.mask'), i = 0, len = elements.length; i < len; ++i) {
102
+
103
+ console.log(elements[i]);
104
+
105
+ elements[i].setAttribute('aria-hidden', ariaHidden);
106
+
107
+ }
108
+
109
+ }
110
+
111
+ }, false);
112
+
113
+ </script>
114
+
115
+ ```
116
+
117
+
118
+
119
+ **(2017/0/02 10:11追記)**
120
+
121
+
122
+
123
+ [ALL OPEN], [ALL CLOSE] ボタンを追加しました。
6
124
 
7
125
 
8
126