Javascript JS在页面刷新时选择随机引号
我正在制作我的网站,我想要它,这样每当用户刷新页面时,就会弹出一个新的随机笑话,而不是之前选择的笑话。这是我现在的脚本:Javascript JS在页面刷新时选择随机引号,javascript,html,Javascript,Html,我正在制作我的网站,我想要它,这样每当用户刷新页面时,就会弹出一个新的随机笑话,而不是之前选择的笑话。这是我现在的脚本: function ShowJoke(){ var Joke=["Jokes", "go", "here"]; var Pick = Math.floor(Math.random() * (Joke.length)); document.write(Joke[Pick]); } 你只需要修正一下打字错误 function ShowJoke() { va
function ShowJoke(){
var Joke=["Jokes", "go", "here"];
var Pick = Math.floor(Math.random() * (Joke.length));
document.write(Joke[Pick]);
}
你只需要修正一下打字错误
function ShowJoke()
{
var Joke=[1, 2, 3, 4, 5, 6, 7];
var Pick = Math.floor(Math.random() * (Joke.length));
document.write(Joke[Pick]);
}
并实际调用该函数
ShowJoke();
编辑:
结果是op不想重复同样的笑话,因此我们可以这样做:
function ShowJoke()
{
var RawJoke=[1, 2, 3, 4, 5, 6, 7];
var ToldJokes = localStorage.getItem("jokes");
if (ToldJokes) {
ToldJokes = JSON.parse(ToldJokes);
} else {
ToldJokes = [];
}
var Joke = [];
for (var i = 0; i < RawJoke.length; i++)
if (ToldJokes.indexOf(RawJoke[i]) === -1)
Joke.push(RawJoke[i]);
if (Joke.length === 0) {
ToldJokes = [];
Joke = RawJoke;
}
var Pick = Math.floor(Math.random() * (Joke.length));
ToldJokes.push(Joke[Pick]);
localStorage.setItem("jokes", JSON.stringify(ToldJokes));
document.write(Joke[Pick]);
}
函数ShowJoke()
{
var RawJoke=[1,2,3,4,5,6,7];
var ToldJokes=localStorage.getItem(“笑话”);
如果(托尔德约克){
ToldJokes=JSON.parse(ToldJokes);
}否则{
ToldJokes=[];
}
var=[];
for(var i=0;i
您的代码看起来不错。但是,您有语法错误。另外,您没有调用finction
函数ShowJoke()
{
var笑话=[
“开玩笑1”,
“笑话2”,
“开玩笑3”,
“开玩笑4”,
“开玩笑5”,
“开玩笑6”
];
var Pick=Math.floor(Math.random()*(Joke.length));
写(笑话[挑选]);
}
document.addEventListener(“加载”,ShowJoke())代码>我只能用你提供的信息回答,所以如果有什么问题,请告诉我,这样我就可以解决它
根据我从这个问题中得到的信息,你想在页面加载中加载一个新的笑话。“每次页面刷新时,都会显示一个新的随机报价,而不是上一个”
注意:由于“允许相同来源”标志,下面的代码段可能无法工作,并且很可能无法在本地托管,除非您使用类似XAMPP的东西
throwdown是检查cookie是否存在,如果存在,则继续生成,直到生成的新笑话不等于cookie,设置新cookie并显示笑话
//笑话数组
变量=[
“我刚被键盘厂解雇。他们告诉我,我的班次不够。”,
“我们会我们会……如果它不是自动更正的。”,
“Q.哪种蔬菜试图保持凉爽,但只成功了一部分?\n\n.萝卜。”,
“世界绕口令冠军刚刚被捕。我听说他们要给他一个非常严厉的判决。”
];
//用于检查cookie的函数(如果存在则为true,如果不存在则为false)
函数checkCookie(){
var joke=getCookie();
如果(笑话!=“”){
返回true;
}否则{
返回false;
}
}
//设置cookie以便以后可以引用
函数setCookie(cvalue){
var cname=“笑话”;
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
//实际获取cookie并读取它
函数getCookie(){
var cname=“笑话”;
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);
对于(var i=0;我的意思是你想要一个随机的笑话,但不是一个已经显示的笑话?这意味着它不再是随机的。文档。编写
…hmmm。另外,如果你只有一个笑话,你希望显示另一个笑话?@trincot很好。我的答案可以解决这个问题。存储在本地存储中的一组笑话会不断更新,如果没有more笑话,然后随机开始。这是不正确的。函数将立即调用,而不是在页面加载时调用。“我希望这样,每次页面刷新时,都会显示一个新的随机引用,而不是最后一个”-OP;这并不能做到这一点。你仍然有同样的机会得到最后一个笑话。@TyQ。我的回答满足了你不重复笑话的需要。顺便说一句,回答得好。我喜欢你如何利用本地存储,而不仅仅是会话存储。