我试着把一首诗的诗句混在一起,这样每次页面重新加载时,每一行的顺序都是不同的。我使用了我在txtfiddle上找到的js代码,但我似乎无法使它在我的页面上工作。这就是链接:https://txtfiddle.com/~aolam6a/shuffle-lines,我以为我只需要调用一个变量“输入”才能让它正常工作,但事实并非如此。有什么帮助吗?谢谢!
var input = document.getElementById("text").innerHTML;
// Split input text into an array of lines
const lines = input.split(/\r?\n/);
// Fisher–Yates shuffle to randomize the array
for (let i = lines.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[lines[i], lines[j]] = [lines[j], lines[i]];
}
// Join line array back into a string
return lines.join("\n");
<div id="text">
Quand le ciel bas et lourd pèse comme un couvercle<br> Sur l'esprit gémissant en proie aux longs ennuis,<br> Et que de l'horizon embrassant tout le cercle<br> Il nous verse un jour noir plus triste que les nuits ;<br> Quand la terre est changée en un
cachot humide,<br> Où l'Espérance, comme une chauve-souris,<br> S'en va battant les murs de son aile timide<br> Et se cognant la tête à des plafonds pourris ;<br> Quand la pluie étalant ses immenses traînées<br> D'une vaste prison imite les barreaux,<br> Et qu'un peuple muet d'infâmes araignées<br> Vient tendre ses filets au fond de nos cerveaux,<br> Des cloches tout à coup sautent avec furie<br> Et lancent vers le ciel un affreux hurlement,<br> Ainsi que des esprits errants et sans patrie<br> Qui se
mettent à geindre opiniâtrement.<br> - Et de longs corbillards, sans tambours ni musique,<br> Défilent lentement dans mon âme ; l'Espoir,<br> Vaincu, pleure, et l'Angoisse atroce, despotique,<br> Sur mon crâne incliné plante son drapeau noir.<br>
</div>
发布于 2022-06-07 12:43:12
TxtFiddle使用return
语句在浏览器中显示输出。
但是,当使用普通Javascript时,函数范围外的return
是无效的。
应该将lines.join("\n")
设置为<div>
的内容。
element.innerHTML = lines.join("\n");
演示:
var element = document.getElementById("text");
var input = element.innerHTML;
// Split input text into an array of lines
const lines = input.split(/\r?\n/);
// Fisher–Yates shuffle to randomize the array
for (let i = lines.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[lines[i], lines[j]] = [lines[j], lines[i]];
}
// Join line array back into a string
element.innerHTML = lines.join("\n");
<div id="text">
Quand le ciel bas et lourd pèse comme un couvercle<br> Sur l'esprit gémissant en proie aux longs ennuis,<br> Et que de l'horizon embrassant tout le cercle<br> Il nous verse un jour noir plus triste que les nuits ;<br> Quand la terre est changée en un
cachot humide,<br> Où l'Espérance, comme une chauve-souris,<br> S'en va battant les murs de son aile timide<br> Et se cognant la tête à des plafonds pourris ;<br> Quand la pluie étalant ses immenses traînées<br> D'une vaste prison imite les barreaux,<br> Et qu'un peuple muet d'infâmes araignées<br> Vient tendre ses filets au fond de nos cerveaux,<br> Des cloches tout à coup sautent avec furie<br> Et lancent vers le ciel un affreux hurlement,<br> Ainsi que des esprits errants et sans patrie<br> Qui se
mettent à geindre opiniâtrement.<br> - Et de longs corbillards, sans tambours ni musique,<br> Défilent lentement dans mon âme ; l'Espoir,<br> Vaincu, pleure, et l'Angoisse atroce, despotique,<br> Sur mon crâne incliné plante son drapeau noir.<br>
</div>
https://stackoverflow.com/questions/72531390
复制相似问题