我想在这两个.js文件之间切换:
<script type="text/javascript">
<!--
var jsfiles = ['/js/green.js', '/js/blue.js'];
var randomLink = Math.floor(Math.random() * jsfiles.length);
document.getElementById('scriptid').src = jsfiles[randomLink];
//-->
</script>
<script src="" id="scriptid"></script>
如何让green.js在98%的时间内出现,blue.js出现在另外2%的时间?
答案 0 :(得分:1)
好吧,你可以尝试一下看起来像是98%的东西,如果实际百分比并不重要你可以试试
var jsfiles = ['/js/green.js', '/js/blue.js'];
var randumNum = Math.floor(Math.random() * 100);
if(randomNum > 90)
document.getElementById('scriptid').src = '/js/blue.js';
else
document.getElementById('scriptid').src = '/js/green.js';
这不是一个非常好的解决方案,因为它实际上不会是98%,随机行为的方式不同而且不准确,但如果你只有2个文件并且实际百分比无关紧要,这可以工作。
我设置了> 90
因为我认为如果你继续使用98
,这将是99%,但这不是一个事实我不确定JS中的随机化是如何工作的,你的电话。
答案 1 :(得分:1)
这样简单的事情怎么样?那将一直给出98%/ 2%。
var jsfiles = ['/js/green.js', '/js/blue.js'],
secondFileCount = 0,
count = 0,
rndFiles = [],
num;
while (count < 100) {
num = Math.floor(Math.random() * 2);
if (num !== 1 || secondFileCount++ <= 2)
count = rndFiles.push(jsfiles[num]);
}
console.log(rndFiles);
答案 2 :(得分:0)
这个怎么样?
if ((~~(Math.random()*100))<=98) alert('in the 98 zone'); else alert('in the 2 zone')