gpt4 book ai didi

javascript - 只能使 HTML 列表随机播放一次

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:24 25 4
gpt4 key购买 nike

我完全不熟悉编码,所以如果我的问题很愚蠢,请多多包涵(请将任何答案写成代码,否则我将无法理解...)。我正在处理 Qualtrics 调查页面,其中有两个可选答案 - 每个答案都是一个项目列表。我试图打乱列表,以便每个参与者以不同的顺序查看它们。我从网上获得了以下这些代码。

我的 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();

但是,它只会从原始版本中洗牌一次。之后,每个下一个参与者都只会看到该版本,而不会发生进一步的洗牌。之后我需要以某种方式让它也适用于两个列表。我有点压力。

我也试过一个数组代码,但我无法让它工作。

最佳答案

正如函数名称所暗示的那样,行 nodes = Array.prototype.sort.call(nodes); 不会打乱内容 - 它会对其进行排序。因此,您每次都能获得一致的排序。

你可能想看看 How to randomize (shuffle) a JavaScript array?用于改组实现。

关于javascript - 只能使 HTML 列表随机播放一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34311132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com