【问题标题】:change day by clicking on button单击按钮更改日期
【发布时间】:2022-01-09 09:46:59
【问题描述】:

我希望每次单击按钮时都能看到 Next 日期数组列表

我能得到答案的唯一方法是 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>

【问题讨论】:

  • 添加一个存储当前数组索引的变量。单击按钮时,增加索引,然后使用它从数组中获取日期。请注意,使用变量是一个基本的编程概念。如此基础,您甚至找不到它的教程。请务必在此处发布之前了解编程的基本机制。
  • 请参阅my answer 以获取使用今天作为开始和推荐事件监听器的脚本
  • @mplungjan - 谢谢先生,这对我学习新事物有很大帮助。

标签: javascript html arrays button days


【解决方案1】:

您可以保留一个表示一周中日期的数组,同时保留一个索引以显示当前日期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>

【讨论】:

  • 也许像 JS 一样从周日开始?
  • @ran-turner - 这是有用的信息,谢谢你,我是这种编程语言的初学者,如果我想从今天开始,我还有 1 个问题我想我需要使用 getDay () ,我说的对吗?
  • @mplungjan - 如果我想从今天开始,我想我需要使用 getDay() ,对吗?
【解决方案2】:

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>

【讨论】:

    【解决方案3】:

    从今天开始,您可以使用从星期日开始的 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>

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 2018-04-13
      • 2011-06-02
      • 1970-01-01
      相关资源
      最近更新 更多