一、效果图如下
二、引入jq
<script src="./js/jquery-3.5.1.min.js"></script>
三、页面样式结构
<style>
.action{
color: red;
}
</style>
<h4>当前时间向前推4天,向后台推4天(当前日期标注为红色)</h4>
<div id="dataDom"></div>
四、js
function formatDateTime (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
var minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
return y + '-' + m + '-' + d
};
function pushByTransDate(dateParameter, num, type) {
var translateDate = "", dateString = "", monthString = "", dayString = "";
translateDate = dateParameter.replace("-", "/").replace("-", "/");
var newDate = new Date(translateDate);
newDate = newDate.valueOf();
if(type == 1){
newDate = newDate - num * 24 * 60 * 60 * 1000;
}else{
newDate = newDate + num * 24 * 60 * 60 * 1000;
}
newDate = new Date(newDate);
if ((newDate.getMonth() + 1).toString().length == 1) {
monthString = 0 + "" + (newDate.getMonth() + 1).toString();
} else {
monthString = (newDate.getMonth() + 1).toString();
}
if (newDate.getDate().toString().length == 1) {
dayString = 0 + "" + newDate.getDate().toString();
} else {
dayString = newDate.getDate().toString();
}
dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
return dateString;
};
let dateList = []
let currentDate=''
let newDate = new Date()
currentDate = formatDateTime(newDate);
for(var a=4;a>0;a--){
let nTime = pushByTransDate(currentDate, a, 1);
dateList.push(nTime)
}
dateList.push(currentDate)
for(var b=1;b<=4;b++){
let mTime = pushByTransDate(currentDate, b, 2);
dateList.push(mTime)
}
let dateListHtml=''
dateList.forEach(item => {
if(item == currentDate){
dateListHtml +=`<p class="action" onClick="handleDateClick('${item}')">${item}</p>`
} else {
dateListHtml +=`<p>${item}</p>`
}
})
$("#dataDom").html(dateListHtml)
function handleDateClick(itm){
console.log("点击了当前日期",itm);
}