質問するログイン新規登録

回答編集履歴

3

タイポミス

2021/02/07 13:14

投稿

babu_babu_baboo
babu_babu_baboo

スコア616

answer CHANGED
@@ -45,10 +45,9 @@
45
45
  }
46
46
  </style>
47
47
  <body>
48
- <div class="card_zone" id="D"></div>
48
+ <div id="D"></div>
49
49
  <script>
50
50
 
51
-
52
51
  const
53
52
  N = 25,
54
53
  NIGO = [...Array(N).keys(), ...Array(N).keys()],
@@ -76,15 +75,12 @@
76
75
  if (p.dataset.num == e.dataset.num) {
77
76
  p.remove ();
78
77
  e.remove ();
79
- p = null;
80
78
  }
81
- else p = n = null;
79
+ p = null;
82
80
  }
83
81
 
84
82
  D.addEventListener('click', handler, false); 
85
83
 
86
84
 
87
85
  </script>
88
-
89
-
90
86
  ```

2

基本的なコードかな?短いので理解しやすいでしょう!

2021/02/07 13:14

投稿

babu_babu_baboo
babu_babu_baboo

スコア616

answer CHANGED
@@ -26,4 +26,65 @@
26
26
 
27
27
 
28
28
  </script>
29
+ ```
30
+
31
+ 骨格としてはこんな感じ。実験用として数字をあえて表示しています。
32
+ 同じ数字を2つクリックするとそれらが消えていきます。
33
+ まずは流れを理解するところから。
34
+
35
+ ```js
36
+ <!DOCTYPE html><html>
37
+ <head><meta charset="UTF-8">
38
+ <style>
39
+ #D div {
40
+ display: inline-block;
41
+ border: 1px green solid;
42
+ width: 30px;
43
+ height: 30px;
44
+ text-align: center;
45
+ }
46
+ </style>
47
+ <body>
48
+ <div class="card_zone" id="D"></div>
49
+ <script>
50
+
51
+
52
+ const
53
+ N = 25,
54
+ NIGO = [...Array(N).keys(), ...Array(N).keys()],
55
+ LEN = NIGO.length,
56
+ R = n=> Math.random () * n|0;
57
+
58
+ [...D.children].forEach (e=> e.remove ());
59
+ let template = document.createElement ('div');
60
+ template.classList.add ('card');
61
+
62
+ for (let n of NIGO) {
63
+ let d = D.appendChild (template.cloneNode (true));
64
+ d.dataset.num = n;
65
+ d.textContent = n;//これは必要ない
66
+ }
67
+
68
+ for (let i = LEN; i; i--)
69
+ D.appendChild (D.children[R(i)]);
70
+
71
+ let p;
72
+ function handler (event) {
73
+ let e = event.target;
74
+ if (! p) return p = e;
75
+ if (p == e) return;
76
+ if (p.dataset.num == e.dataset.num) {
77
+ p.remove ();
78
+ e.remove ();
79
+ p = null;
80
+ }
81
+ else p = n = null;
82
+ }
83
+
84
+ D.addEventListener('click', handler, false); 
85
+
86
+
87
+ </script>
88
+
89
+
29
90
  ```

1

カッコつけた

2021/02/07 12:58

投稿

babu_babu_baboo
babu_babu_baboo

スコア616

answer CHANGED
@@ -20,7 +20,7 @@
20
20
  let e = event.target, i = cards.indexOf (e);
21
21
  if (-1 < i)
22
22
  if (! A.has (e))
23
- (e.textContent = wariate[i], A.add (e));
23
+ ((e.textContent = wariate[i]), A.add (e));
24
24
  }
25
25
  document.addEventListener ('click', handler, false);
26
26