回答編集履歴

2

別解

2022/06/02 05:50

投稿

int32_t
int32_t

スコア20659

test CHANGED
@@ -6,3 +6,10 @@
6
6
  * クリックされたカードの要素がリストの`[0]`と同じなら何もしない
7
7
  * クリックされたカードを表にして、その要素をリストに足す。リストの長さが2以上なら1秒後にリスト中の全要素を裏に戻しリストを空にする
8
8
 
9
+ ----
10
+ 以下のようなやり方の方がよりHTMLらしいかもしれません。
11
+ * カードの要素すべてに `class="card"` を付ける
12
+ * カードがクリックされたとき、`document.querySelectorAll('.card.opened').length` が2以上なら何もしない
13
+ * クリックされたカードの要素が `opened` クラスを持っていたら何もしない
14
+ * クリックされたカードの要素に `opened` クラスを足す。カード裏表の表示切り替えはCSSで行う。`document.querySelectorAll('.card.opened').length` が2以上なら1秒後に`document.querySelectorAll('.card.opened')`の全要素から`opened`クラスを削除する。
15
+

1

.

2022/06/02 05:32

投稿

int32_t
int32_t

スコア20659

test CHANGED
@@ -1,4 +1,4 @@
1
- 現在のコードだと、同じカードを2回クリックすると1秒後に裏にもどってしまいうですね。
1
+ 現在のコードだと、同じカードを2回クリックすると1秒後に裏にもどってしまいうですね。
2
2
 
3
3
  裏に戻すことを考えると、けっきょくのところ「表になっているカードのリスト」を持っておくのがよいでしょう。
4
4
  * リストは最初は空 `[]`