【问题标题】:Firefox same randon number on event callFirefox 事件调用中的随机数相同
【发布时间】:2013-11-18 02:18:11
【问题描述】:

我有一个函数randomPlay 与事件onended 相关联,但随机数在Firefox 上始终相同。在 Chrome 上没问题。任何人都可以解释为什么以及如何解决?

 function randomPlay(){
    $("audio").html('<source src="'+srcArray[Math.floor(Math.random() * srcArray.length)]+'" type="audio/mpeg">');
    document.getElementById('audio').play();
    }

元素是这个音频:

<audio id="audio" autoplay onended="randomPlay();" ><source src="music.mp3" type="audio/mpeg"></audio>

更新

我将元素更改为:

<audio id="audio" autoplay onended="randonPlay();" src=""></audio>

并将函数更改为:

function randonPlay(){
    $("audio").attr("src",srcArray[Math.floor(Math.random() * srcArray.length)]);
    document.getElementById('audio').play();
}

所以现在一切都很好:) 谢谢大家的帮助。 无论如何,我还找到了一个生成随机数的库Chance.js

【问题讨论】:

标签: javascript firefox random


【解决方案1】:

这是因为生成器是在页面加载时播种的。有关一些信息,请参阅此帖子:

这里:Math.random() - Not random

【讨论】:

  • 非常感谢。我调试后发现随机不是真正的问题。无论如何,我发现了这个很棒的库来生成随机数link
猜你喜欢
  • 2019-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多