Javascript 随机播放声音重叠

Javascript 随机播放声音重叠,javascript,function,audio,random,ready,Javascript,Function,Audio,Random,Ready,嘿,我需要你的帮助。我已经为我的随机声音脚本做好了一切准备,并且工作得非常完美。问题是,当我将鼠标移到图片上时,它会播放随机声音(这就是我想要的)。但是,每次我将鼠标移到图片上,它都会发出另一种声音,如果我再次将鼠标移到图片上,而另一种声音仍在播放,则会发出另一种声音。我最终想用更长的声音来做这件事,但如果声音相互叠加,那就太糟糕了。有没有办法将其设置为一次只播放一个(随机选择)或在播放文件完成之前不开始播放。有什么可以预防的吗 代码如下: $(document).ready(funct

嘿,我需要你的帮助。我已经为我的随机声音脚本做好了一切准备,并且工作得非常完美。问题是,当我将鼠标移到图片上时,它会播放随机声音(这就是我想要的)。但是,每次我将鼠标移到图片上,它都会发出另一种声音,如果我再次将鼠标移到图片上,而另一种声音仍在播放,则会发出另一种声音。我最终想用更长的声音来做这件事,但如果声音相互叠加,那就太糟糕了。有没有办法将其设置为一次只播放一个(随机选择)或在播放文件完成之前不开始播放。有什么可以预防的吗

代码如下:

    $(document).ready(function(){
        $('audio').each(function(){
            this.volume = 0.4;
        });
        $(".ladyleepic img").mouseover(function(){
            var n = Math.ceil(Math.random() * 5);
            $("#audio"+n).trigger('play');
        });

    });
我应该补充一点,我正在Dreamweaver CS6中使用JQuery和音频标签。(音频1、2、3等)


您需要在声音播放结束时将事件绑定到:

您可以添加此事件设置的标志

$(document).ready(function(){
    $('audio').each(function(){
        this.volume = 0.4;
    });
    var playing = false;
    $("audio").bind('ended', function(){
        playing = false;
    });

    $(".ladyleepic img").mouseover(function(){
        if (!playing) {
            var n = Math.ceil(Math.random() * 5);
            $("#audio"+n).trigger('play');
            playing = true;
        }
    });
});
$(document).ready(function(){
    $('audio').each(function(){
        this.volume = 0.4;
    });
    var playing = false;
    $("audio").bind('ended', function(){
        playing = false;
    });

    $(".ladyleepic img").mouseover(function(){
        if (!playing) {
            var n = Math.ceil(Math.random() * 5);
            $("#audio"+n).trigger('play');
            playing = true;
        }
    });
});