本WIKI由曲解研究所参与建设 本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
编辑帮助:目录BWIKI反馈留言板

全站通知:

MediaWiki:EventCalendar.js

来自物华弥新WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
events={      
	0:["物华弥新公测",2024,4,19,9999,99,99],
	1:["谷雨",2024,4,19],
	2:["试炼场·龙吟凤引",2024,4,26,9999,99,99],
    3:["物华弥新1.1版本",2024,5,1,2024,6,11],
    4:["立夏",2024,5,5],
	5:["花朝昔时(1.1上)",2024,5,1,2024,5,18],
	6:["国际博物馆日活动(1.1下)",2024,5,18,9999,99,99],
}
eventCalendarTodayInBeiJing=new Date(new Date().getTime()+(8+new Date().getTimezoneOffset()/60)*60*60*1000)
ECD=document.getElementsByClassName("ECD")
eventCalendarYearCell=document.getElementById("eventCalendarYear")
eventCalendarMonthCell=document.getElementById("eventCalendarMonth")
eventCalendarStart=eventCalendarTodayInBeiJing.getTime()
eventCalendarYear=new Date(eventCalendarStart).getFullYear()
eventCalendarMonth=new Date(eventCalendarStart).getMonth()+1
eventCalendarChange()
document.getElementById("eventCalendarYearP").onclick=function(){
	eventCalendarYear++
	eventCalendarChange()
}
document.getElementById("eventCalendarYearM").onclick=function(){
	eventCalendarYear--
	eventCalendarChange()
}
document.getElementById("eventCalendarMonthP").onclick=function(){
	if(eventCalendarMonth==12){
		eventCalendarMonth=1
		eventCalendarYear++
	}
	else eventCalendarMonth++
	eventCalendarChange()
}
document.getElementById("eventCalendarMonthM").onclick=function(){
	if(eventCalendarMonth==1){
		eventCalendarMonth=12
		eventCalendarYear--
	}
	else eventCalendarMonth--
	eventCalendarChange()
}
function eventCalendarChange(){
	for(i=0;i<ECD.length;i++){
		ECD[i].removeAttribute("title")
		ECD[i].style.backgroundColor="transparent"
		ECD[i].style.color="inherit"
		ECD[i].style.fontWeight="normal"
	}
	eventCalendarFirstDay=new Date(eventCalendarYear+"/"+eventCalendarMonth+"/1").getDay()
	if(eventCalendarFirstDay==0){
		eventCalendarFirstDay=7
	}
	eventCalendarThisMonthMax=eventCalendarMonthMax(eventCalendarMonth,eventCalendarYear)
	eventCalendarLastMonthMax=eventCalendarMonthMax(eventCalendarMonth-1,eventCalendarYear)
	for(i=1;i+eventCalendarThisMonthMax+eventCalendarFirstDay-1<ECD.length;i++){
		for(j=0;events[j];j++){
			if(eventCalendarNextYearOverflow()==events[j][1]&&eventCalendarNextMonthOverflow()==events[j][2]&&i==events[j][3]){
				if(ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor=="pink"||ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor=="lemonchiffon"){
					ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor="lemonchiffon"
				}
				else{
					ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor="palegreen"
				}
				ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].title+="\n"+weighAnchor(j)+events[j][0]
				continue
			}
			else if(eventCalendarNextYearOverflow()==events[j][4]&&eventCalendarNextMonthOverflow()==events[j][5]&&i==events[j][6]){
				if(ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor=="palegreen"||ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor=="lemonchiffon"){
					ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor="lemonchiffon"
				}
				else{
					ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor="pink"
				}
				ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].title+="\n结束 "+events[j][0]
				continue
			}
		}
if(eventCalendarNextYearOverflow()==eventCalendarTodayInBeiJing.getFullYear()&&eventCalendarNextMonthOverflow()==eventCalendarTodayInBeiJing.getMonth()+1&&i==eventCalendarTodayInBeiJing.getDate()){
			ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.backgroundColor="lightskyblue"
			ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.fontWeight="bold"
			ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].title+="\n今天"
		}
		ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].style.color="#999"
		ECD[i+eventCalendarThisMonthMax+eventCalendarFirstDay-1].innerHTML=i
	}
	for(i=eventCalendarLastMonthMax,j=1;i>eventCalendarLastMonthMax-eventCalendarFirstDay;i--,j++){
		for(k=0;events[k];k++){
			if(eventCalendarLastYearInsufficient()==events[k][1]&&eventCalendarLastMonthInsufficient()==events[k][2]&&i==events[k][3]){
				if(ECD[eventCalendarFirstDay-j].style.backgroundColor=="pink"||ECD[eventCalendarFirstDay-j].style.backgroundColor=="lemonchiffon"){
					ECD[eventCalendarFirstDay-j].style.backgroundColor="lemonchiffon"
				}
				else{
					ECD[eventCalendarFirstDay-j].style.backgroundColor="palegreen"
				}
				ECD[eventCalendarFirstDay-j].title+="\n"+weighAnchor(k)+events[k][0]
				continue
			}
			else if(eventCalendarLastYearInsufficient()==events[k][4]&&eventCalendarLastMonthInsufficient()==events[k][5]&&i==events[k][6]){
				if(ECD[eventCalendarFirstDay-j].style.backgroundColor=="palegreen"||ECD[eventCalendarFirstDay-j].style.backgroundColor=="lemonchiffon"){
					ECD[eventCalendarFirstDay-j].style.backgroundColor="lemonchiffon"
				}
				else{
					ECD[eventCalendarFirstDay-j].style.backgroundColor="pink"
				}
				ECD[eventCalendarFirstDay-j].title+="\n结束 "+events[k][0]
				continue
			}
		}
if(eventCalendarLastYearInsufficient()==eventCalendarTodayInBeiJing.getFullYear()&&eventCalendarLastMonthInsufficient()==eventCalendarTodayInBeiJing.getMonth()+1&&i==eventCalendarTodayInBeiJing.getDate()){
			ECD[eventCalendarFirstDay-j].style.backgroundColor="lightskyblue"
			ECD[eventCalendarFirstDay-j].style.fontWeight="bold"
			ECD[eventCalendarFirstDay-j].title+="\n今天"
		}
		ECD[eventCalendarFirstDay-j].style.color="#999"
		ECD[eventCalendarFirstDay-j].innerHTML=i
	}
	for(i=1;i<=eventCalendarThisMonthMax;i++){
		for(j=0;events[j];j++){
			if(eventCalendarYear==events[j][1]&&eventCalendarMonth==events[j][2]&&i==events[j][3]){
				if(ECD[i+eventCalendarFirstDay-1].style.backgroundColor=="firebrick"||ECD[i+eventCalendarFirstDay-1].style.backgroundColor=="gold"){
					ECD[i+eventCalendarFirstDay-1].style.backgroundColor="gold"
				}
				else{
					ECD[i+eventCalendarFirstDay-1].style.backgroundColor="seagreen"
				}
				ECD[i+eventCalendarFirstDay-1].title+="\n"+weighAnchor(j)+events[j][0]
				continue
			}
			else if(eventCalendarYear==events[j][4]&&eventCalendarMonth==events[j][5]&&i==events[j][6]){
				if(ECD[i+eventCalendarFirstDay-1].style.backgroundColor=="seagreen"||ECD[i+eventCalendarFirstDay-1].style.backgroundColor=="gold"){
					ECD[i+eventCalendarFirstDay-1].style.backgroundColor="gold"
				}
				else{
					ECD[i+eventCalendarFirstDay-1].style.backgroundColor="firebrick"
				}
				ECD[i+eventCalendarFirstDay-1].title+="\n结束 "+events[j][0]
				continue
			}
		}
if(eventCalendarYear==eventCalendarTodayInBeiJing.getFullYear()&&eventCalendarMonth==eventCalendarTodayInBeiJing.getMonth()+1&&i==eventCalendarTodayInBeiJing.getDate()){
			ECD[i+eventCalendarFirstDay-1].style.backgroundColor="royalblue"
			ECD[i+eventCalendarFirstDay-1].style.color="white"
			ECD[i+eventCalendarFirstDay-1].style.fontWeight="bold"
			ECD[i+eventCalendarFirstDay-1].title+="\n今天"
		}
		ECD[i+eventCalendarFirstDay-1].innerHTML=i
	}
	eventCalendarYearCell.innerHTML=eventCalendarYear
	eventCalendarMonthCell.innerHTML=eventCalendarMonth
}
function eventCalendarMonthMax(Month,Year){
	if(Month==2){
		if(Year%4==0&&Year%100!=0||Year%400==0){
			return 29
		}
		else return 28
	}
	else if(Month==4||Month==6||Month==9||Month==11){
		return 30
	}
	else return 31
}
function eventCalendarNextYearOverflow(){
	if(eventCalendarMonth==12){
		return eventCalendarYear+1
	}
	else return eventCalendarYear
}
function eventCalendarLastYearInsufficient(){
	if(eventCalendarMonth==1){
		return eventCalendarYear-1
	}
	else return eventCalendarYear
}
function eventCalendarNextMonthOverflow(){
	if(eventCalendarMonth==12){
		return 1
	}
	else return eventCalendarMonth+1
}
function eventCalendarLastMonthInsufficient(){
	if(eventCalendarMonth==1){
		return 12
	}
	else return eventCalendarMonth-1
}
function weighAnchor(origin){
	if(origin==0){
		return "开始!"
	}
	else if(origin==41){
		return "再诞!"
	}
	else{
		return "开始 "
	}
}