我正在尝试根据我在Google搜索中找到的一些代码和示例创建一个音板(我在这里找到的很多示例)。它具有我目前所需的所有基本核心功能,除了一个非常重要的功能,我无法弄清楚:当我点击另一个音频按钮时如何停止播放所有音频。
这是我目前的工作代码:
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this;
var isplaying = false;
$("#profile").append($('<button>' + audio.attr("title") + '</button>').click(
function() {
if (isplaying == false) {
that.play();
isplaying = true;
} else {
that.pause();
that.currentTime = 0;
isplaying = false;
}
}));
});
});
我有想法将div“#profile”包装在另一个div“#global”中,然后尝试阻止所有声音在#global中播放,但它不起作用:
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this;
var isplaying = false;
$("#profile").append($('<button>' + audio.attr("title") + '</button>').click(
function() {
if (isplaying == false) {
that.play();
isplaying = true;
} else if (isplaying == true) {
$("#global").click(
function() {
that.pause();
that.currentTime = 0;
isplaying = false;
});
}
}));
});
});
它的功能比我在#profile中以相同的方式停止音频更好(我使用的是松散的),因为当我这样做时,音频根本没有播放。但是,使用上面的代码,在我单击按钮关闭音频后,它将不会再次播放,直到我刷新页面。我最大的问题仍然存在:按下多个按钮时声音仍然重叠......
老实说,我不知道自己在想什么,因为上面的内容听起来并不完全合乎逻辑,而且我几乎退后一步......但我一直在这整个项目连续四天,我想我会失去理智。我采取这种方法是正确的,或者我是否接近,或者我只是简单的智障?
请帮忙。