0

单击按钮后,我正在尝试播放随机音效。基本上,我创建了一组声音,如下所示。我的目标是,当用户单击按钮时,我想从数组中选择随机声音,这仅在页面刷新后才有效。但是当用户第二次或第三次单击按钮时,它会一遍又一遍地返回相同的结果。

function sound_return(){
    var sound_array = ["sound1.mp3", "sound2.mp3"];
    var sound = sound_array[Math.floor(Math.random() * sound_array.length)];
        return sound;
    }

        var audioElement = document.createElement('audio');
        audioElement.setAttribute('src', 'sound/'+sound_return());
        audioElement.load()
        $.get();
        audioElement.addEventListener("load", function() {
        audioElement.play();
        }, true);

    $('#sound').click(function(event){
            event.preventDefault();
            audioElement.play();    
    });
4

1 回答 1

0

您需要设置音频源并在每次单击时加载它

function sound_return(){
    var sound_array = ["sound1.mp3", "sound2.mp3"];
    var sound = sound_array[Math.floor(Math.random() * sound_array.length)];
    return sound;
}

var audioElement = document.createElement('audio');
audioElement.addEventListener("load", function() {
    audioElement.play();
    btn.hide();
}, true);
audioElement.addEventListener("ended", function() {
    btn.show();
}, true);


var btn = $('#sound').click(function(event){
    event.preventDefault();
    audioElement.setAttribute('src', 'sound/'+sound_return());
    audioElement.load();
});
于 2013-05-22T04:55:40.207 回答