【发布时间】:2018-10-26 16:23:07
【问题描述】:
构建卡牌配对游戏,完整代码在这里https://codepen.io/3noki/pen/xjyErQ
我正在尝试将翻转卡片的事件分配给列表/数组或我猜的变量,因此我可以检查它是否匹配下一个翻转第二张卡片的事件。但是,这个例子,是导致错误的,被放在函数openedCards()中。
let card1 = $(event.target).toggleClass('open show');
如果有更好的方法来匹配一个值到后面的值我还没有学过,但这是我目前知道的。
另外,我已经实现了一个计数器,它应该递增到 1 的值,然后下一个事件到 2 的值,如果它们不匹配,重置两张卡,我将能够在之后测试它这第一部分有效,但在函数openedCards() 中列出。
我认为我最困难的事情是从 DOM 指定或保存第一个和第二个事件,或者弄清楚如何在数组中引用这个事件[这个事件]。
我查看了以下其他一些示例,但尝试这些示例均未成功。
代码摘录
function cardFlip(event) {
$(event.target).toggleClass('open show')
openedCards();
}
function openedCards(i) {
if (openedCardsList.length === 0) {
openedCardsList.push(i);
let card1 = $(event.target).toggleClass('open show');
} else if (openedCardsList.length === 1) {
openedCardsList.push(i);
let card2 = $(event.target).toggleClass('open show');
} else {
openedCardsList = [];
cardFlip(card1);
cardFlip(card2);
}
}
【问题讨论】:
-
目前还不清楚您要问什么。请将您的问题缩小到 一个 特定问题,并详细发布相关代码、您期望发生的事情以及正在发生的事情。我也有一种感觉,您使用“事件”一词是错误的;您不能“将事件分配给列表”。
-
如何保存 cardFlip() 以便对照第二个 cardFlip() 检查它?
function cardFlip(event) { $(event.target).toggleClass('open show') openedCards(); } function openedCards(i) { if (openedCardsList.length === 0) { openedCardsList.push(i); let card1 = $(event.target).toggleClass('open show'); } else if (openedCardsList.length === 1) { openedCardsList.push(i); let card2 = $(event.target).toggleClass('open show'); } else{ openedCardsList = []; cardFlip(card1); cardFlip(card2); } -
请编辑您的帖子以包含代码,评论中难以辨认。
标签: javascript html dom