http://koreanwordgame.com/在Safari中,我認爲IE7和8 Math.random()不是隨機的嗎?
在該頁面首先加載4個字到通過Ajax的選項的DIV,然後隨機化用下面的函數的正確答案,將含有該元素的DIV被隨機化作爲參數:
var random = function(r){
r.children().sort(function(a,b){
var temp = parseInt(Math.random()*10);
return(temp%2);
}).appendTo(r);
};
random($("#option"));
<div id="option">
<div class="option" id="option1" style="background-color: rgb(229, 232, 238); ">light</div>
<div class="option" id="option4" style="background-color: rgb(183, 190, 204); ">pot</div>
<div class="option" id="option2" style="background-color: rgb(183, 190, 204); ">garlic press</div>
<div class="option" id="option3" style="background-color: rgb(183, 190, 204); ">habitant</div>
</div>
問題是,在Safari瀏覽器正確的答案總是處於頂端的位置......
而在IE 7和8中,它的位置往往不是最高的位置。
我知道這將有可能通過使用時間戳在那裏或某事,但我努力使其正常工作,使功能「更隨機」。
問題不在於'Math.random()'。這是你的「隨機化」排序功能,它只返回'0'或'1',而不是'-1'。 –
但它在Chrome和Firefox中正常工作,那怎麼回事?老實說,我沒有寫這個函數,只是適應了我的需要 – Tules
你應該真的使用Fisher-Yates shuffle來做這件事,否則你的結果幾乎總是會被加權的。 http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle –