Javascript 文本未随机刷新的问题

Javascript 文本未随机刷新的问题,javascript,html,css,Javascript,Html,Css,我最近添加了一个掷骰子按钮,但由于我添加了这个按钮,我注意到我的文本在一次又一次刷新后不会随机显示,它只是在你第一次掷骰子时随机选择的,直到你再次完全重置整个页面,它才会刷新 我试图将所有内容都更改回原来的位置,包括滚动骰子按钮,但在代码的某个地方,我相信我出了问题,这就是为什么文本不再随机刷新,即使视频在一次又一次刷新后随机播放 var r_text=新数组(); r_text[0]=“所有的叶子都是棕色的”; r_text[1]=“fafwfaf”; r_text[2]=“fakfjwk

我最近添加了一个掷骰子按钮,但由于我添加了这个按钮,我注意到我的文本在一次又一次刷新后不会随机显示,它只是在你第一次掷骰子时随机选择的,直到你再次完全重置整个页面,它才会刷新

我试图将所有内容都更改回原来的位置,包括滚动骰子按钮,但在代码的某个地方,我相信我出了问题,这就是为什么文本不再随机刷新,即使视频在一次又一次刷新后随机播放


var r_text=新数组();
r_text[0]=“所有的叶子都是棕色的”;
r_text[1]=“fafwfaf”;
r_text[2]=“fakfjwkfkjawkfawjf”;
r_text[3]=“玉米片”;
r_text[4]=“班纳纳”;
r_text[5]=“楔块”;
r_text[6]=“lol”;
var i=Math.floor(6*Math.random())
var视频=[{
id:1,
url:“https://www.youtube.com/embed/ngUMyF9D9SQ?autoplay=1",
正文:r_text[i]
},
{
id:2,
url:“https://www.youtube.com/embed/r-l_gVPVylM?autoplay=1",
正文:r_text[i]
},
{
id:3,
url:“https://www.youtube.com/embed/6ukTzRjXcR0?autoplay=1",
正文:r_text[i]
},
{
id:4,
url:“https://www.youtube.com/embed/n5BXMNCTu8I?autoplay=1",
正文:r_text[i]
},
{
id:5,
url:“https://www.youtube.com/embed/JtwVmnMNaEY?autoplay=1",
正文:r_text[i]
},
{
id:6,
url:“https://www.youtube.com/embed/lAMgRaHP8Q4?autoplay=1",
正文:r_text[i]
}
];
window.onload=函数(){
函数rollVideo(numberRand){
let playerDiv=document.getElementById(“随机播放器”);
if(document.querySelector(“iframe”)!==null){
document.querySelector(“iframe”).remove();
}
让player=document.createElement(“IFRAME”);
让randomVideoUrl=videos[numberRand].url;
player.setAttribute(“宽度”、“640”);
player.setAttribute(“高度”、“390”);
setAttribute(“src”,randomVideoUrl);
playerDiv.appendChild(玩家);
document.getElementById(“r_text”).innerHTML=“”;
document.getElementById(“r_text”).innerHTML=videos[numberRand].text;
}
document.getElementById(“btn roll”)。addEventListener(“单击”,startRoll);
函数startRoll(){
让currentNumber=Math.floor(Math.random()*videos.length);
滚动视频(当前编号);
}
};
卷

这是因为您从一开始就将
i
初始化为一个介于
0
5
之间的随机数,
videos
对象包含每个索引的
text
的相同值,即
r\u text[i]

因此,如果您想为随机视频打印随机文本,只需替换此选项即可

document.getElementById("r_text").innerHTML = videos[numberRand].text;
用这个

document.getElementById("r_text").innerHTML = r_text[Math.floor(6*Math.random())];
或者,如果特定文本是用索引固定的,那么,简单地说,
text:r\u text[0]
text:r\u text[1]
,。。。等等,在
视频
对象中。

错误是 正文:r_text[i]
一个解决方案是为constante索引视频更改i。

您可以这样解决:
document.getElementById(“r_text”).innerHTML=r_text[Math.floor(6*Math.random())]
我应该在哪里添加它?替换这个
document.getElementById(“r_text”).innerHTML=videos[numberRand].text@GrafiCode,这将生成与提供给函数的数字不同的另一个随机数。document.getElementById(“r_text”)。innerHTML=videos[numberRand]。text;如果我们使用
document.getElementById(“r_text”).innerHTML=r_text[Math.floor(6*Math.random())],那么应该使用document.getElementById(“r_text”).innerHTML=r_text[Math.floor(6*Math.random())]
然后这将创建新的随机值,该值不等于
numberRand
,因此文本和视频的映射将不匹配。我们可以使用
document.getElementById(“r_text”).innerHTML=r_text[numberRand]而不是创建新的随机值。@MohitPrakash这就是他想要的,随机视频的随机文本。无需将其与
numberRand
匹配。最后,给出一个清晰的解释