javascript - 只有第二个音频播放 JavaScript onclick 事件
问题描述
我正在尝试向我的网站添加声音效果,当他们单击正确的图像时会产生正面效果,而当他们单击错误的图像时会产生负面效果。目前,两次点击都只播放负面声音,或者根据我放置声音的顺序,播放正面声音。这是我的html:
<audio controls autoplay hidden id="correct">
<source src="positive.mp3" type="audio/mpeg">
</audio>
<audio controls autoplay hidden id="wrong">
<source src="negative.mp3" type="audio/mpeg">
</audio>
<div class="popup" onclick="myFunction(); playPositive()"> <img src="true.png">
<span class="popuptext" id="myPopup">CORRECT</span>
</div>
<div class="popup" onclick="myFunction(); playNegative()"> <img src="false.png"
<span class="popuptext" id="myPopup">INCORRECT</span>
</div>
这是我的 Javascript:
var myMusic= document.getElementById("correct");
function playPositive() {
myMusic.play();
}
var myMusic= document.getElementById("wrong");
function playNegative() {
myMusic.play();
}
为什么即使我点击正确的图像和错误的图像,它也只使用第二个声音来实现这两个功能?
解决方案
那是因为您对两个音频元素使用相同的变量名称:
像这样修复它:
var myCorrectMusic= document.getElementById("correct");
function playPositive() {
myCorrectMusic.play();
}
var myWrongMusic= document.getElementById("wrong");
function playNegative() {
myWrongMusic.play();
}
推荐阅读
- python - 将图像文件上传到数据库
- javascript - 如何在javascript中的关联数组上使用数组索引生成数组键
- javascript - 添加文档并将子集合添加到该文档 Firestore
- testing - 是否可以将多个测试计划以及测试套件和测试结果添加到新的测试计划中>
- regex - 无法获取小写值的 AD 属性?
- bash - 使用脚本在 FreeNAS NAS 中的文件夹之间移动文件
- algorithm - 用伪代码表达“等于”
- azure - 尝试获取 Artifacts Run Powershell 脚本中使用的开发测试实验室 VM 用户名
- android - 如何在 Kotlin 上使用 iText 以更好的分辨率或质量打印 pdf
- python - Python多处理不将示例代码打印到标准输出