我在寫一個腳本,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