我现在有一个函数,因此每次单击前进箭头时,星期都会前进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()
}

10-06 01:15