javascript - 每次单击前进箭头时功能不会重复

标签 javascript

我现在有一个函数,每次单击向前箭头,周就会向前移动 1 周。

JS

//周日期 - 在使我的日期从 2 月 3 日开始显示的函数下方

let d = new Date(2020,1,3)
var dayElement = document.createElement("div");
dayElement.innerHTML = d.toLocaleDateString() + "-"
document.getElementById("month-today").appendChild(dayElement)

let nd = new Date(d)
nd.setDate(nd.getDate() + 6)

document.getElementById("month-seven").innerHTML = nd.toLocaleDateString()

//向前箭头 - 在使本周前进到下周的函数下方

document.getElementById("next").addEventListener("click", next)
function next() {

  let ndPlus = new Date(d)
  ndPlus.setDate(ndPlus.getDate() + 7)

  document.getElementById("month-today").innerHTML = ndPlus.toLocaleDateString() +  "-"

  let ndPlusWeek = new Date(2020,1,9)
  ndPlusWeek.setDate(ndPlusWeek.getDate() + 7)


  document.getElementById("month-seven").innerHTML = ndPlusWeek.toLocaleDateString()
}

每次我单击向前箭头,周数应继续移动 7 天,但周仅向前移动一次。

帮忙?

最佳答案

这是一个快速修复,即使它并不优雅:

function next() {

  let ndPlus = new Date(d);
  ndPlus.setDate(ndPlus.getDate() + 7)
  d = ndPlus;

  document.getElementById("month-today").innerHTML = ndPlus.toLocaleDateString() +  "-"

  let ndPlusWeek = new Date(ndPlus)
  ndPlusWeek.setDate(ndPlus.getDate() + 6)


  document.getElementById("month-seven").innerHTML = ndPlusWeek.toLocaleDateString()
}

关于javascript - 每次单击前进箭头时功能不会重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60109419/

相关文章:

javascript 回调 - 使用 fs.readFile 处理读取文件

javascript - 选择 li 项时更改无序列表的值

Javascript,如果 true 添加字符串

javascript - 从 node.js/javascript 中的对象树检查/分配

javascript - foreaching JavaScript 对象时是否可以将 undefined 作为键?

javascript - 如何在 <link> 标签内添加 href 动态

javascript - 如何编写递归函数来获取表示每个值排列集合的数组?

javascript - 在使用 addEventListener 添加事件之前使用 removeEventListener 删除事件不起作用

javascript - 通过单击另一个图表来手动激活 Highcharts 图表中的向下钻取

javascript - 使用 Javascript 和 Apps 脚本转换 DateTime 字符串