我在写一个脚本,onload会将类添加到12个DIV中的随机4中,然后从阵列中删除DIV的ID。从数组中获取随机项,在for循环中,然后从数组中删除
我有一个数组设置,其中包含所有12个DIV ID。
有时当我重新加载页面时,4个DIV有这个类,其他时间只有3个DIV有这个类。
有点卡住为什么发生这种情况。 我注释掉从阵列码删除,看看是否真的是问题,但还是同样的问题。
这里是我的代码:
//Randomize Which Shoes Are Positive And Negative
function randomizeShoes(){
allGroundShoes = new Array('ground_black_1','ground_black_2','ground_brown_1','ground_brown_2','ground_clown_1','ground_clown_2','ground_disco_1','ground_disco_2','ground_moccasins_1','ground_moccasins_2','ground_red_1','ground_red_2');
for(var i=0; i < 4; i++){
randomAllGroundShoes = allGroundShoes[Math.floor(Math.random() * allGroundShoes.length)];
$('#'+randomAllGroundShoes+'').addClass('shoeNegitive');
//randomShoeID = allGroundShoes.indexOf('randomAllGroundShoes');
//if(randomShoeID != -1){ allGroundShoes.splice(randomShoeID, 1); }
}
}
'Math.floor(的Math.random()* allGroundShoes.length)'需要是'Math.floor(的Math.random()* allGroundShoes.length - 1)'因为数组从0开始。长度将返回12,但'allGroundShoes [12]'将不存在,因为最后一个项目从'allGroundShoes [0]'开始,它将是'allGroundShoes [11]'。 –
@MXXenotype看起来好像是这样,但'Math.random()'返回一个从0.0到小于1的浮点数(即0到1排除)。有关详细信息,请参见[MDN页面](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random)。 – GregL