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(){
调用它endevents()
中,并且在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);
显示日历(当前月、当前年);
事件()
}
功能显示日历(月、年){
让第一天=(新的