Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击Web上的另一个声音按钮后,jQuery声音未停止_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击Web上的另一个声音按钮后,jQuery声音未停止

Javascript 单击Web上的另一个声音按钮后,jQuery声音未停止,javascript,jquery,html,Javascript,Jquery,Html,我正试图根据我在谷歌搜索中找到的一些代码和示例(我在这里找到的许多示例)创建一个音板。它拥有我目前需要的所有基本核心功能,除了一个我无法理解的非常重要的功能:当我单击另一个音频按钮时,如何停止播放所有音频 这是我当前的工作代码: $(function() { $("audio").removeAttr("controls").each(function(i, audioElement) { var audio = $(this); var that = t

我正试图根据我在谷歌搜索中找到的一些代码和示例(我在这里找到的许多示例)创建一个音板。它拥有我目前需要的所有基本核心功能,除了一个我无法理解的非常重要的功能:当我单击另一个音频按钮时,如何停止播放所有音频

这是我当前的工作代码:

$(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;
            }
        }));
    });
});
$(函数(){
$(“音频”).removeAttr(“控件”)。每个(函数(i,audioElement){
var audio=$(这是);
var=这个;
var显示=假;
$(“#profile”)。附加($(''+audio.attr(“title”)+'')。单击(
函数(){
如果(显示==假){
那。play();
isplay=true;
}否则{
暂停();
即.currentTime=0;
isplay=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;
                });
            }
        }));
    });
});
$(函数(){
$(“音频”).removeAttr(“控件”)。每个(函数(i,audioElement){
var audio=$(这是);
var=这个;
var显示=假;
$(“#profile”)。附加($(''+audio.attr(“title”)+'')。单击(
函数(){
如果(显示==假){
那。play();
isplay=true;
}else if(isplaying==true){
$(“#全局”)。单击(
函数(){
暂停();
即.currentTime=0;
isplay=false;
});
}
}));
});
});
它的功能稍微好一点(我松散地使用它),而不是试图以相同的方式在#profile中停止音频,因为我这样做时音频根本没有播放。但是,使用上面的代码,在我单击按钮关闭音频后,它将不会再次播放,直到我刷新页面。我最大的问题仍然存在:当按下多个按钮时,声音仍然重叠

我真的不知道我在想什么了,因为上面的话听起来不太符合逻辑,而且我几乎要后退一步了。。。但我已经连续四天参与这个项目了,我想我快要疯了。我采取这种方法是正确的,还是我很接近,还是我完全是弱智

请帮忙