Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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 需要帮助,我需要创建代码,按钮和重复文本出现_Javascript_Cookies - Fatal编程技术网

Javascript 需要帮助,我需要创建代码,按钮和重复文本出现

Javascript 需要帮助,我需要创建代码,按钮和重复文本出现,javascript,cookies,Javascript,Cookies,现在我重新制作了一个网站,我需要做一件事,那个就是有一个按钮,当用户点击按钮时,他得到了一些我将创建的文本,例如: 用户点击按钮,他得到文本“Hello 123” 他离开页面,过了一段时间回来,点击按钮,他得到了另一条短信,比如“Hello 321” 他刷新页面,或者离开再回来,点击按钮,得到另一条像“Hello 231”的文字 依此类推,直到我所创作的所有文本结束,然后它们应该从第一个开始重复 你有什么办法让它工作吗?我想我应该使用cookies来记住用户点击按钮的次数,但我对cookies没

现在我重新制作了一个网站,我需要做一件事,那个就是有一个按钮,当用户点击按钮时,他得到了一些我将创建的文本,例如:

用户点击按钮,他得到文本“Hello 123”

他离开页面,过了一段时间回来,点击按钮,他得到了另一条短信,比如“Hello 321”

他刷新页面,或者离开再回来,点击按钮,得到另一条像“Hello 231”的文字

依此类推,直到我所创作的所有文本结束,然后它们应该从第一个开始重复

你有什么办法让它工作吗?我想我应该使用cookies来记住用户点击按钮的次数,但我对cookies没有任何经验,也许有人能帮我

我做了类似的事情,但我需要每个用户在离开页面或刷新页面后,都能轮流获取文本。对不起,我的英语,在这个话题中,我很难把我的语言翻译成英语

    <!DOCTYPE html>
<html>
<body>
<button onclick="textafterclicked()">Click on me</button>

<p id="demo"></p>

<script>
function textafterclicked() {
    var r_text = new Array (); 
r_text[0] = "Hello 123"; 
r_text[1] = "Hello 321"; 
r_text[2] = "Hello 312"; 
r_text[3] = "Goodbye 123"; 
r_text[4] = "Goodbye 321"; 

var i = Math.floor(r_text.length * Math.random()); 

document.write("<center><FONT SIZE=72><FONT COLOR='BLACK'>" + 
r_text[i]  + "</FONT></center>"); 



document.body.style.background=bgcolorlist[Math.floor(Math.random()*bgcolorlist.length)]; 
}
</script>

</body>
</html>

点击我

函数textafterclicked(){ var r_text=新数组(); r_text[0]=“你好123”; r_text[1]=“你好321”; r_text[2]=“你好312”; r_text[3]=“再见123”; r_text[4]=“再见321”; var i=Math.floor(r_text.length*Math.random()); 文件。写(“”+ r_text[i]+“”); document.body.style.background=bgcolorlist[Math.floor(Math.random()*bgcolorlist.length)]; }

链接:

如果您只想要一个JS解决方案,并且想要使用cookies,则需要较小的助手函数来获取和设置浏览器中的cookies。我在代码中添加了
getCookie(name)
setCookie(name,value,days)
函数

以下是步骤:

  • 获取名为
    myIndex
  • 如果未设置cookie,则使用0初始化
  • 不要看东西
  • 如果
    myIndex
    在数组的范围内
    r\u text
    ->增量
  • 如果
    myIndex
    超出范围->删除cookie
  • 这是你的密码。请确保在本地主机或域上打开它。否则,您将无法访问cookies

    
    点击我
    

    函数getCookie(名称){ var v=document.cookie.match(“(^ |”)?“+name+”=([^;]*)(;|$); 返回v?v[2]:空; } 函数setCookie(名称、值、天数){ var d=新日期; d、 设置时间(d.getTime()+24*60*60*1000*天); document.cookie=name+“=”+value+”;path=/;expires=“+d.togmString(); 返回值; } var i=getCookie('myIndex'); 控制台信息(一); 如果(!i){ i=setCookie('myIndex',0,365); } var r_text=新数组(); r_text[0]=“你好,0”; r_text[1]=“你好1”; r_text[2]=“你好2”; r_text[3]=“你好3”; r_text[4]=“你好4”; 函数textafterclicked(){ i=parseInt(i); 写(“+r_text[i]+”); 如果(i>=r_text.length-1){ setCookie('myIndex',''.-1);//删除 }否则{ setCookie('myIndex',''.-1);//首先删除 i=setCookie('myIndex',i+1,365);//用递增的值设置它 } //document.body.style.background=bgcolorlist[Math.floor(Math.random()*bgcolorlist.length)]; }
    文本应该只为用户旋转,还是应该全局旋转?只为用户旋转。文本应该在他点击按钮后更改,若他离开,回来并再次点击按钮,他应该得到上次点击的文本。所以对于每个用户来说都是不同的。如果你知道我的意思,如果不知道,我会尝试解释不同的。ThanksI更新了您的代码并提供了一个js专用的解决方案。嘿,我的回答有助于您解决问题吗?是的,非常感谢!