如何使用js或者php将下面这段话:
身上的痛让我难以入睡
脚下的路还有更多的累
追逐梦想总是百转千回
我行我素做人要敢作敢为
无怨无悔从容面对
风雨彩虹铿锵玫瑰
再多忧伤再多痛苦自己去背
纵横四海笑傲天涯永不后退
经过打乱后变为下面这个样子:
event.target
获取触发元素matches
来判断是否是触发元素手写了个代码应该没问题的
<div id="text"></div>
<script>
var text = "身上的痛让我难以入睡<br />脚下的路还有更多的累<br />追逐梦想总是百转千回<br />我行我素做人要敢作敢为<br />无怨无悔从容面对<br />风雨彩虹铿锵玫瑰<br />再多忧伤再多痛苦自己去背<br />纵横四海笑傲天涯永不后退";
//将文本按行分割成数组
var lines = text.split("<br />");
var newtext=[];
for(var i=0;i<lines.length;i++){
line_text = lines[i].split("");
for(var j=0;j<line_text.length;j++){
if(i==0){
//第一行的文字是绿色
newtext.push('<span style="color: blue">'+line_text[j]+'</span> ');
}else if(i==1){
//第二行的文字是橙色
newtext.push('<span style="color: orange">'+line_text[j]+'</span> ');
}else{
newtext.push(line_text[j]+" ");
}
}
}
// 打乱数组中每个字的顺序
newtext = newtext.sort(() => Math.random() - 0.5);
var newtextstr=""
for(var i=0;i<newtext.length;i++){
// 9个字一行输出
if((i+1)%9==0){
newtextstr+=newtext[i]+"<br />";
}else{
newtextstr+=newtext[i];
}
}
document.getElementById("text").innerHTML=newtextstr;
</script>
网页中浏览效果如下: