Javascript 要在我的java脚本日历中创建事件。也就是说,将文本添加到特定事件中,基本上是在日历中的各个日期旁边添加文本

Javascript 要在我的java脚本日历中创建事件。也就是说,将文本添加到特定事件中,基本上是在日历中的各个日期旁边添加文本,javascript,html,Javascript,Html,today=新日期(); currentMonth=today.getMonth(); currentYear=today.getFullYear(); 选择year=document.getElementById(“年”); 选择month=document.getElementById(“月”); 月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月]; monthAndYear=document.getElemen

today=新日期();
currentMonth=today.getMonth();
currentYear=today.getFullYear();
选择year=document.getElementById(“年”);
选择month=document.getElementById(“月”);
月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月];
monthAndYear=document.getElementById(“monthAndYear”);
显示日历(当前月、当前年);
函数next(){
currentYear=(currentMonth==11)?currentYear+1:currentYear;
当前月份=(当前月份+1)%12;
显示日历(当前月、当前年);
}
函数previous(){
currentYear=(currentMonth==0)?currentYear-1:currentYear;
currentMonth=(currentMonth==0)?11:currentMonth-1;
显示日历(当前月、当前年);
}
函数跳转(){
currentYear=parseInt(选择Year.value);
currentMonth=parseInt(选择month.value);
显示日历(当前月、当前年);
}
功能显示日历(月、年){
设firstDay=(新日期(年、月)).getDay();
tbl=document.getElementById(“日历正文”);//日历正文
//清除所有以前的单元格
tbl.innerHTML=“”;
//通过DOM在页面中归档关于月份和的数据。
monthAndYear.innerHTML=月[月]+“”+年;
选择year.value=year;
选择month.value=month;
//创建所有单元格
设日期=1;
for(设i=0;i<6;i++){
//创建一个表行
让row=document.createElement(“tr”);
//创建单个单元格,用数据归档。
对于(设j=0;j<7;j++){
如果(i==0&&j日/月(月,年)){
打破
}
否则{
单元格=document.createElement(“td”);
cellText=document.createTextNode(日期);
如果(日期===today.getDate()&&year==today.getFullYear()&&month==today.getMonth()){
cell.classList.add(“bg信息”);
}//给今天的日期涂上颜色
cell.appendChild(cellText);
子行(单元格);
日期++;
}
}
tbl.appendChild(行);//将每一行追加到日历正文中。
}
}
//检查每月代码中的天数
每月的功能日(月日,年){
return 32-新日期(iYear,iMonth,32).getDate();
}

太阳
周一
星期二
结婚
清华大学
星期五
坐
以前的
下一个

跳转到: 简 二月 破坏 四月 也许 六月 七月 八月 九月 十月 十一月 12月 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030
请下次分享您的尝试,这里的人希望看到您确实尝试了一些东西并帮助修复了代码,而不是从starch开始为您编写,欢迎使用SO

下面是一种方法:

    var outofoffice = "2020 Sep 20";
    //set the date
    var res = outofoffice.split(" ");
    //split it
    var outYear = res[0];
    var outMonth = res[1];
    var outDay = res[2];
    
    
var calHeaderData = document.querySelector("#monthAndYear").innerHTML;
    //fetch your calendar header containing month and year  "Sep 2020"
    
    if (calHeaderData === (outMonth + " " + outYear)) {
    //compare your calendar header year and month with your 
    //out of office year and month,  then if its the same:

      [...document.querySelectorAll('#calendar-body tr td')].forEach(td => {
    //fetch all td's inside calendar-body

        if (td.innerHTML === outDay) {
    // if td data (days number) is same as your out of office day

          td.innerHTML = td.innerHTML + " Out of office";
    //add text to it
          td.style.backgroundColor = "red";
    //just some styling
        }
      })
    }
请记住,您需要将其包装到函数中,并调用页面加载以及日历导航按钮(如果日历中的某些内容是动态加载的)

因此,将它全部放在
function events(){
调用它end
events()
中,并且在
jump()previous()next()中的每个更改的末尾

请参阅代码片段

此外,向日历中添加文本将打破其格式,我建议在悬停或类似的情况下使用数据属性和工具提示,只突出显示日期

示例代码片段:

today=新日期();
currentMonth=today.getMonth();
currentYear=today.getFullYear();
选择year=document.getElementById(“年”);
选择month=document.getElementById(“月”);
月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月];
monthAndYear=document.getElementById(“monthAndYear”);
显示日历(当前月、当前年);
函数next(){
currentYear=(currentMonth==11)?currentYear+1:currentYear;
当前月份=(当前月份+1)%12;
显示日历(当前月、当前年);
事件()
}
函数previous(){
currentYear=(currentMonth==0)?currentYear-1:currentYear;
currentMonth=(currentMonth==0)?11:currentMonth-1;
显示日历(当前月、当前年);
事件()
}
函数跳转(){
currentYear=parseInt(选择Year.value);
currentMonth=parseInt(选择month.value);
显示日历(当前月、当前年);
事件()
}
功能显示日历(月、年){
让第一天=(新的