繁体   English   中英

单击按钮更改日期

[英]change day by clicking on button

我希望每次单击按钮时都可以看到第二天数组列表中的第二天

我能得到答案的唯一方法是 Math.random() 每次单击按钮时都会产生不同的结果,但是我希望在第二天每次单击它时都显示给我。

 function day() { var days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] document.getElementById("demo").innerHTML = days[Math.floor(Math.random() * 7)]; }
 <button onclick='day()'>Click to see</button> <span id="demo"></span>

 let index = Math.floor(Math.random() *7); //if you want always start from 'Monday' you can use 0 as startIndex let days =['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] function day(){ document.getElementById("demo").innerHTML = days[index]; index = (index+1)%7 }
 <button onclick='day()'>Click to see</button> <h1 id="demo"></h1>

您可以保留一个表示一周中天数的数组,同时保留一个索引来显示当前日期current

在每次单击时,您都会增加current值。 innerHtml值将是当前索引(正在添加%以防止跳出)

 var days =['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']; let current = 0; function day(){ document.getElementById("demo").innerHTML = days[current++ % days.length]; }
 <button onclick='day()'>Click to see</button> <div id="demo"> </div>

从今天开始,您可以使用从星期日开始的 getDay

 const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] let day = new Date().getDay(); //today document.getElementById('addDay').addEventListener('click', function() { document.getElementById("demo").innerHTML = days[day++ % 7]; // move the ++ to ++day to show tomorrow on first click })
 <button id="addDay" type="button">Click to see</button> <span id="demo"></span>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM