我對編碼完全陌生,所以如果我的問題很蠢,請耐心等待(&請將任何答案寫出來作爲代碼,否則我將無法得到它......)。我正在開發Qualitative調查頁面,其中有兩個可選答案 - 每個答案都是一個項目列表。我正在嘗試對列表進行洗牌,以便每個參與者以不同的順序查看它們。我從網上獲得了以下代碼。只能做HTML列表一次洗牌
我的HTML列表如下所示:
<div id="enriched">
<div class="list_item">lots of sunshine</div>
<div class="list_item">gorgeous beaches and coral reefs</div>
<div class="list_item">ultra-modern hotel</div>
<div class="list_item">very cold water</div>
<div class="list_item">very strong winds</div>
<div class="list_item">no nightlife</div>
</div>
而我的JavaScript代碼是這樣的:
var list = document.getElementById("enriched");
function shuffleNodes() {
var nodes = list.children, i = 0;
nodes = Array.prototype.sort.call(nodes);
while(i < nodes.length) {
list.appendChild(nodes[i]);
++i;
}
}
shuffleNodes();
但是,只從原始版本洗牌列表一次。之後,每個下一個參與者都會看到該版本,而沒有進一步的洗牌發生。之後,我需要以某種方式使它適用於這兩個列表..我有點強調。
我也嘗試了一個數組代碼,但我無法讓它工作。
你不能在你的代碼洗牌節點的任何地方 - 你對它們進行排序在一些特定的順序放置。對它們進行一次排序只是將它們按照相同的順序放置,所以在第一次排序後您不會看到任何更改。 –
http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array – shareef