Simple Calendar - This is a plain and simple monthly calendar. Formatted with styles sheets.
Compatible Browsers: ![]() ![]() ![]() ![]() ![]() Example: View Code Demo |
<html>
<head>
<title>Simple Calendar Javascript Code Snippet</title>
<style type="text/css">
span.label {color:#000000; width:30px; height:16px; text-align:center; margin-top:0; background:#e6e6e6; font:bold 13px verdana;}
span.c1 {cursor:hand; color:#000000; width:30px; height:16px; text-align:center; margin-top:0px; background:#ffffff; font:bold 13px verdana;}
span.c2 {cursor:hand; color:#ff0000; width:30px; height:16px; text-align:center; margin-top:0px; background:#ffffff; font:bold 13px verdana;}
span.c3 {cursor:hand; color:#b0b0b0; width:30px; height:16px; text-align:center; margin-top:0px; background:#ffffff; font:bold 12px verdana;}
.selectbg {cursor:hand; color:#000000; width:100%; height:auto; background:#e6e6e6;}
</style>
<script>
<!--
// Begin Simple Calendar
// == This Script Free To Use Providing This Notice Remains == //
// == This Script Has Been Found In The https://snapbuilder.com Free Public Codes Library == //
// == NOTICE: Though This Material May Have Been In A Public Depository, Certain Author Copyright Restrictions May Apply == //
-->
function maxDays(mm, yyyy){
var mDay;
if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
mDay = 30;
}
else{
mDay = 31
if(mm == 1){
if (yyyy/4 - parseInt(yyyy/4) != 0){
mDay = 28
}
else{
mDay = 29
}
}
}
return mDay;
}
function changeBg(id){
if (eval(id).style.backgroundColor != "#ffff00"){
eval(id).style.backgroundColor = "#ffff00"
}
else{
eval(id).style.backgroundColor = "#ffffff"
}
}
function writeCalendar(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var arrM = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var arrY = new Array()
for (ii=0;ii<=4;ii++){
arrY[ii] = yyyy - 2 + ii
}
var arrD = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
var text = ""
text = "<form name='calForm'>"
text += "<table border='1' cellspacing='0' cellpadding='0'>"
text += "<tr><td>"
text += "<table width='100%' cellspacing='0' cellpadding='0'><tr>"
text += "<td align='left' class='selectbg'>"
text += "<select name='selMonth' onChange='changeCal()'>"
for (ii=0;ii<=11;ii++){
if (ii==mm){
text += "<option value= " + ii + " Selected>" + arrM[ii] + "</option>"
}
else{
text += "<option value= " + ii + ">" + arrM[ii] + "</option>"
}
}
text += "</select>"
text += "</td>"
text += "<td align='right' class='selectbg'>"
text += "<select name='selYear' onChange='changeCal()'>"
for (ii=0;ii<=4;ii++){
if (ii==2){
text += "<option value= " + arrY[ii] + " Selected>" + arrY[ii] + "</option>"
}
else{
text += "<option value= " + arrY[ii] + ">" + arrY[ii] + "</option>"
}
}
text += "</select>"
text += "</td>"
text += "</tr></table>"
text += "</td></tr>"
text += "<tr><td>"
text += "<table border='1'>"
text += "<tr>"
for (ii=0;ii<=6;ii++){
text += "<td align='center'><span class='label'>" + arrD[ii] + "</span></td>"
}
text += "</tr>"
aa = 0
for (kk=0;kk<=5;kk++){
text += "<tr>"
for (ii=0;ii<=6;ii++){
text += "<td align='center'><span id=sp" + aa + " onClick='changeBg(this.id)'>1</span></td>"
aa += 1
}
text += "</tr>"
}
text += "</table>"
text += "</td></tr>"
text += "</table>"
text += "</form>"
document.write(text)
changeCal()
}
function changeCal(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var currM = parseInt(document.calForm.selMonth.value)
var prevM
if (currM!=0){
prevM = currM - 1
}
else{
prevM = 11
}
var currY = parseInt(document.calForm.selYear.value)
var mmyyyy = new Date()
mmyyyy.setFullYear(currY)
mmyyyy.setMonth(currM)
mmyyyy.setDate(1)
var day1 = mmyyyy.getDay()
if (day1 == 0){
day1 = 7
}
var arrN = new Array(41)
var aa
for (ii=0;ii<day1;ii++){
arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
}
aa = 1
for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){
arrN[ii] = aa
aa += 1
}
aa = 1
for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
arrN[ii] = aa
aa += 1
}
for (ii=0;ii<=41;ii++){
eval("sp"+ii).style.backgroundColor = "#ffffff"
}
var dCount = 0
for (ii=0;ii<=41;ii++){
if (((ii<7)&&(arrN[ii]>20))||((ii>27)&&(arrN[ii]<20))){
eval("sp"+ii).innerHTML = arrN[ii]
eval("sp"+ii).className = "c3"
}
else{
eval("sp"+ii).innerHTML = arrN[ii]
if ((dCount==0)||(dCount==6)){
eval("sp"+ii).className = "c2"
}
else{
eval("sp"+ii).className = "c1"
}
if ((arrN[ii]==dd)&&(mm==currM)&&(yyyy==currY)){
eval("sp"+ii).style.backgroundColor="#90EE90"
}
}
dCount += 1
if (dCount>6){
dCount=0
}
}
}
</script>
</head>
<body>
<p>This is a plain and simple monthly calendar. It's formatted with styles sheets so the appearance can easily be changed.</p>
<p>Then, in the body of your document, add the following where you want the calendar to show up:</p>
<script type="text/javascript">writeCalendar();</script>
</body>
</html>
|
Scroll