【发布时间】:2015-07-10 11:39:59
【问题描述】:
所以我找到了一个脚本并对其进行了修改以符合我的需要。但我还需要做一件事,不知道从哪里开始。
这是我用来让两个不同的音频文件用两个不同的按钮播放的代码
$(document).on("click", "li", function(event) {
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'http://www.uscis.gov/files/nativedocuments/Track%2093.mp3');
//audioElement.load()
$.get();
audioElement.addEventListener("load", function(event) {
audioElement.play();
}, true);
$('.play-duck-1').click(function(event) {
audioElement.play();
});
});
$(document).on("click", "li", function(event) {
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'http://sandbox.acscreative.com/cort-aminals/sounds/new-recording.m4a');
//audioElement.load()
$.get();
audioElement.addEventListener("load", function(event) {
audioElement.play();
}, true);
$('.play-duck-2').click(function(event) {
audioElement.play();
});
});
有没有办法组合这些脚本,这样我就不必为 36 个不同的音频文件和按钮复制和粘贴 36 次?
我看过很多“功能组合”的帖子,但除非我忽略了某些东西,否则它们看起来都不适合我。
感谢您的帮助
【问题讨论】:
-
当前,当单击
- 时,您的两个处理程序都将运行。您需要检测单击了哪个按钮(使用 event.target)并从中确定 url。这听起来像你所追求的吗?
-
我不这么认为,这是我的网站sandbox.acscreative.com/cort-aminals/index.html。如果您单击鸭子 + 并单击前两个标志(比利时和中国),您可以看到它们都在播放单独的文件。但是我需要为 36 个不同的标志加载 36 个不同的文件,并且只是在寻找一种更有效的方法来执行此操作,而无需复制和粘贴 36 次。
-
好的,分享页面帮助我更了解了结构。我建议为每个标志按钮使用
<a>标签,并将href设置为音频文件。然后,您可以有一个事件侦听器,它针对声音按钮的一般情况,这样您就有一个处理所有动物和声音的处理程序。
标签: javascript jquery audio