【发布时间】:2018-08-15 22:45:11
【问题描述】:
我构建了一个简单的匹配游戏,并为几张卡片添加了音频文件,如下所示:
cardList.map((cardItem) => {
var card = document.createElement("li");
card.classList.add("card");
var img = document.createElement("img");
img.src = [cardItem.img]
card.appendChild(img);
//audio starting here
audio = new Audio(cardItem.sound);
card.appendChild(audio);
audio.id += ' ' + cardItem.card;
deck.append(card);
card.className += ' ' + cardItem.name;
});
}
在我的 startGame() 函数中,我添加了一个 eventListener 来添加 audio.play();点击。
所以现在,当我打开开发工具时,我可以看到我的卡的音频元素,但是当我尝试点击它们时,我只会获得所有卡的一个音频文件,而不是我实际添加到其中的音频特定元素。
这是我的 GitHub 文件:https://github.com/cMikolai/guitar-colour-system-game/blob/master/js/app.js
谁能帮我弄清楚如何播放我添加到我点击的卡片的声音?
【问题讨论】:
-
我找到了问题背后的原因。请参阅我编辑的答案。
标签: javascript html5-audio event-listener