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