0

嘿,我需要你的帮助。我已经为我的随机声音脚本进行了一切设置和工作。问题是我将它设置为当我将鼠标悬停在图片上时它会播放随机声音(这就是我想要的)。但是,每次我将鼠标悬停在图片上时,它都会发出另一种声音,如果我再次将鼠标悬停在它上面,而另一种声音仍在播放,则会发出另一种声音。我最终想用更长的声音来做到这一点,但是如果声音在彼此之上播放,那将是一团糟。有没有办法设置它,使其一次只播放一个(随机选择)或在播放文件完成之前不开始。有什么可以防止的???

这是代码:

    $(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等)

<audio id="audio1"

  <source src=".mp3"></source>
  <source src=".ogg"></source>

< /音频

谢谢你,BigMarkess

4

1 回答 1

1

您需要将事件绑定到声音播放完毕的时间:

如何判断 HTML5 音频元素何时播放完毕?

您可以添加由该事件设置的标志。

$(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;
        }
    });
});
于 2013-08-21T03:20:09.223 回答