`
isiqi
  • 浏览: 16555175 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

一个JavaScript的日历

阅读更多
<Script LANGUAGE="JavaScript">
var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);
var days = new Array("日","一", "二", "三","四", "五", "六");
var classTemp;
var today=new getToday();
var year=today.year;
var month=today.month;
var newCal;

function getDays(month, year) {
if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;
else return daysInMonth[month];
}

function getToday() {
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth();
this.day = this.now.getDate();
}

function Calendar() {
newCal = new Date(year,month,1);
today = new getToday();
var day = -1;
var startDay = newCal.getDay();
var endDay=getDays(newCal.getMonth(), newCal.getFullYear());
var daily = 0;
if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
{
day = today.day;
}
var caltable = document.all.caltable.tBodies.calendar;
var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++)
for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++)
{
var cell = caltable.rows[intWeek].cells[intDay];
var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);
if ((intDay == startDay) && (0 == daily)){ daily = 1;}
var daytemp=daily<10?("0"+daily):(daily);
var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
if(day==daily) cell.className="DayNow";
else if(intDay==6) cell.className = "DaySat";
else if (intDay==0) cell.className ="DaySun";
else cell.className="Day";
if ((daily > 0) && (daily <= intDaysInMonth))
{
cell.innerText = daily;
daily++;
} else
{
cell.className="CalendarTD";
cell.innerText = "";
}
}
document.all.year.value=year;
document.all.month.value=month+1;
}

function subMonth()
{
if ((month-1)<0)
{
month=11;
year=year-1;
} else
{
month=month-1;
}
Calendar();
}

function addMonth()
{
if((month+1)>11)
{
month=0;
year=year+1;
} else
{
month=month+1;
}
Calendar();
}

function setDate()
{
if (document.all.month.value<1||document.all.month.value>12)
{
alert("月的有效范围在1-12之间!");
return;
}
year=Math.ceil(document.all.year.value);
month=Math.ceil(document.all.month.value-1);
Calendar();
}
</Script>

<Script>
function buttonOver()
{
var obj = window.event.srcElement;
obj.runtimeStyle.cssText = "background-color:#FFFFFF";
// obj.className="Hover";
}

function buttonOut()
{
var obj = window.event.srcElement;
window.setTimeout(function(){obj.runtimeStyle.cssText = "";},300);
}
</Script>

<Style>
Input {font-family: verdana;font-size: 9pt;text-decoration: none;background-color: #FFFFFF;height: 20px;border: 1px solid #666666;color:#000000;}

.Calendar {font-family: verdana;text-decoration: none;width: 170;background-color: #C0D0E8;font-size: 9pt;border:0px dotted #1C6FA5;}
.CalendarTD {font-family: verdana;font-size: 7pt;color: #000000;background-color:#f6f6f6;height: 20px;width:11%;text-align: center;}

.Title {font-family: verdana;font-size: 11pt;font-weight: normal;height: 24px;text-align: center;color: #333333;text-decoration: none;background-color: #A4B9D7;border-top-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-bottom-style:1px;border-top-color: #999999;border-right-color: #999999;border-bottom-color: #999999;border-left-color: #999999;}

.Day {font-family: verdana;font-size: 7pt;color:#243F65;background-color: #E5E9F2;height: 20px;width:11%;text-align: center;}
.DaySat {font-family: verdana;font-size: 7pt;color:#FF0000;text-decoration: none;background-color:#E5E9F2;text-align: center;height: 18px;width: 12%;}
.DaySun {font-family: verdana;font-size: 7pt;color: #FF0000;text-decoration: none;background-color:#E5E9F2;text-align: center;height: 18px;width: 12%;}
.DayNow {font-family: verdana;font-size: 7pt;font-weight: bold;color: #000000;background-color: #FFFFFF;height: 20px;text-align: center;}

.DayTitle {font-family: verdana;font-size: 9pt;color: #000000;background-color: #C0D0E8;height: 20px;width:11%;text-align: center;}
.DaySatTitle {font-family: verdana;font-size: 9pt;color:#FF0000;text-decoration: none;background-color:#C0D0E8;text-align: center;height: 20px;width: 12%;}
.DaySunTitle {font-family: verdana;font-size: 9pt;color: #FF0000;text-decoration: none;background-color: #C0D0E8;text-align: center;height: 20px;width: 12%;}

.DayButton {font-family: Webdings;font-size: 9pt;font-weight: bold;color: #243F65;cursor:hand;text-decoration: none;}

</Style>


<table border="0" cellpadding="0" cellspacing="1" class="Calendar" id="caltable">
<thead>
<tr align="center" valign="middle">
<td colspan="7" class="Title">
<a href="javaScript:subMonth();" title="上一月" Class="DayButton">3</a> <input name="year" type="text" size="4" maxlength="4" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')"> 年 <input name="month" type="text" size="1" maxlength="2" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')"> 月 <a href="JavaScript:addMonth();" title="下一月" Class="DayButton">4</a>
</td>
</tr>
<tr align="center" valign="middle">
<Script LANGUAGE="JavaScript">
document.write("<TD class=DaySunTitle id=diary >" + days[0] + "</TD>");
for (var intLoop = 1; intLoop < days.length-1;intLoop++)
document.write("<TD class=DayTitle id=diary>" + days[intLoop] + "</TD>");
document.write("<TD class=DaySatTitle id=diary>" + days[intLoop] + "</TD>");
</Script>
</TR>
</thead>
<TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER ONCLICK="getDiary()">
<Script LANGUAGE="JavaScript">
for (var intWeeks = 0; intWeeks < 6; intWeeks++)
{
document.write("<TR style='cursor:hand'>");
for (var intDays = 0; intDays < days.length;intDays++) document.write("<TD class=CalendarTD onMouseover='buttonOver();' onMouseOut='buttonOut();'></TD>");
document.write("</TR>");
}
</Script>
</TBODY>
</TABLE>
<Script LANGUAGE="JavaScript">
Calendar();
</Script>

分享到:
评论

相关推荐

    js 日历 js日历 例子 javascript日历

    JavaScript日历是一个常见的网页交互元素,它为用户提供了一个方便的方式来选择日期,常见于表单填写、事件安排等场景。在Web开发中,JavaScript日历组件的实现主要依赖于JavaScript语言和CSS来完成页面布局和样式...

    一个javascript 制作的 日历下拉框

    以上就是制作一个JavaScript日历下拉框的基本流程。在实际开发中,还可以考虑添加更多高级功能,比如禁用特定日期、支持多语言、日期范围选择等。对于压缩包中的"新建文件夹 (2)",可能包含了实现这个功能的源代码、...

    JavaScript日历控件 六种日历

    - "现在时间日历"的文件(现在时间日历1.html和现在时间日历2.html)可能包含了一个实时显示当前日期和时间的功能。JavaScript的`Date`对象可以获取当前系统时间,并将其与日历控件结合,确保用户看到的是最新的...

    javascript日历

    创建一个JavaScript日历通常涉及以下几个关键步骤: 1. **HTML结构**:首先,你需要在HTML中设置一个元素,通常是`&lt;input&gt;`标签,用于显示和选择日期。例如: ```html 选择日期"&gt; ``` 2. **CSS样式**:为了美化...

    日历 javascript

    在JavaScript编程领域中...总的来说,实现一个JavaScript日历涉及到JavaScript的日期处理、DOM操作、事件监听以及可能的UI设计。通过不断优化和扩展,这个日历组件可以满足各种项目需求,提供用户友好的日期选择体验。

    JavaScript 日历

    JavaScript日历是一个常见的前端开发功能,它用于在网页上展示日期和时间,用户可以方便地查看、选择或管理日程。这种功能广泛应用于各种在线应用,如任务管理器、会议预订系统、事件日历等。在本文中,我们将深入...

    javascript 日历2

    通常,一个JavaScript日历控件包括以下部分: 1. **界面展示**:日历控件需要有清晰的日期布局,展示月份和日期,可能还包括星期。它应该允许用户通过点击按钮或使用键盘导航来切换月份。 2. **事件处理**:为了...

    JavaScript日历

    在网页开发中,JavaScript因其跨平台和无须服务器端处理的特点,成为实现动态功能的理想选择,而创建JavaScript日历正是这种实践的一个典型例子。 在JavaScript中实现日历功能主要涉及以下几个核心知识点: 1. **...

    完美javascript日历大集合

    这个“完美javascript日历大集合”的压缩包文件“calendar1”可能包含了一个或多个以上所述功能的日历示例,通过学习和研究这些示例,开发者可以深入了解JavaScript在创建复杂用户界面方面的潜力,同时也可以获取...

    JavaScript日历控件

    总的来说,JavaScript日历控件是Web开发中的一个重要组成部分,它通过JavaScript的动态特性为用户提供直观的日期选择体验。理解和创建这样的控件不仅能加深对JavaScript的理解,也能提高你在Web开发中的技能。

    6种JavaScript日历控件

    JavaScript日历控件是网页开发中常用的一种交互元素,它为用户提供了一个直观的方式来选择日期,常见于表单、事件管理或在线预订系统等场景。在本文中,我们将深入探讨六种不同的JavaScript日历控件,了解它们的特点...

    js日历 12种js日历

    My97DatePicker是一个广泛使用的JavaScript日历插件,提供丰富的自定义选项,支持多种语言,并且有良好的兼容性。 7. **日历组件的实现** JavaScript日历组件的实现通常包括以下部分: - 事件监听:监听用户的...

    网页模板——JsCalendar javascript 日历插件 1.0.zip

    总的来说,JsCalendar作为一个JavaScript日历插件,涉及到的知识点包括JavaScript基础、DOM操作、CSS自定义、事件处理、日历逻辑、API接口、浏览器兼容性、插件集成以及性能优化。理解并掌握这些内容,将使你在使用...

    javascript 日历

    jQuery是一个广泛使用的JavaScript库,它简化了JavaScript的DOM操作、事件处理和动画制作。在实现日历插件时,jQuery提供了以下便利: 1. **$(selector)**:选择器语法使得选取DOM元素变得简单,例如`$(".calendar...

    javascript特别好用的日历选择控件

    总的来说,创建一个JavaScript日历选择控件涉及DOM操作、日期处理、事件处理、样式调整和模块化编程等多个方面。掌握这些技术不仅能帮助你构建出功能强大的日历控件,也能让你在JavaScript开发中更上一层楼。

    javascript 日历控件

    综上所述,开发一个JavaScript日历控件涉及了前端开发的多个方面,包括DOM操作、事件处理、日期处理、样式设计、浏览器兼容性、模块化、响应式设计、国际化、可配置性和无障碍性。通过熟练掌握这些知识点,你可以...

Global site tag (gtag.js) - Google Analytics