Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS在页面刷新时选择随机引号_Javascript_Html - Fatal编程技术网

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。我的回答满足了你不重复笑话的需要。顺便说一句,回答得好。我喜欢你如何利用本地存储,而不仅仅是会话存储。