function Calender()
{
var str="日,一,二,三,四,五,六";
weekArray=str.split(',');
var now=new Date();
this.year=now.getFullYear();
this.day=now.getDay();
this.month=now.getMonth()+1;
this.date=now.getDate();
//定义输出函数
this.print=function()
{
//输出第一行
var lineStr="<div style='width:200px' align='center'>"+
this.year+"年"+this.month+"月"
;
if(this.isRunYear(this.year))
lineStr+="(闰)</div>";
lineStr+="<div align='center'>星期"+weekArray[this.day];
lineStr+="</div>";
//输出今天的日期
dateStr="<div align='center'><h1>"+this.date+"</h1></div>";
//日历星期和日期的对应
var weeks="<div align='center'><table><tr>";
for (var i = 0; i < weekArray.length; i++)
{
weeks += "<td>" + weekArray[i] + "</td>";
}
weeks+="</tr>";
var firstday=new Date(this.year+"/"+this.month+"/1");
var fweek=firstday.getDay();
theday=now.getDate();
daynum=this.haveDays(this.year,this.month);
for(var j=1;j<7;j++)
{
weeks+="<tr>";
for(var i=0;i<7;i++)
{
theday=7*(j-1)+i+1-fweek;
if ((j==0)&&i<(fweek)||(theday>daynum)||theday<=0)
weeks+="<td> </td>";
else
weeks+="<td>"+theday+"</td>";
}
weeks+="</tr>";
}
weeks+="</table></div>";
document.writeln(lineStr);
document.writeln(dateStr);
document.writeln(weeks);
}
//得到年该月的第一天是星期几
this.getFirstDay=function()
{
var firstday=new Date(this.year+"/"+this.month+"/1");
return firstday.getDate();
}
//检查是否是闰年
this.isRunYear=function(year)
{
if((year%400==0)||((year%4==0)&&(year%100!=0)))
return true;
else
return false;
}
//判断这某年某月有几天
this.haveDays=function(year,month)
{
var result=0;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:result=31;break;
case 4:
case 6:
case 9:
case 11:result=30;break;
case 2:result=(isRunYear(year))?29:28;break;
}
return result;
}
}
window.onload=function()
{
var calender=new Calender();
calender.print();
}
分享到:
相关推荐
在本项目中,我们主要探讨的是一个纯JavaScript实现的日历功能,它包含了农历转换、节日显示以及面向对象的设计思想。这个日历组件可以方便地在网页中多次调用,为用户提供了一个直观的时间管理工具。 首先,让我们...
在本项目中,我们关注的是一个使用PHP编程语言编写的面向对象的日历应用程序。这个日历功能强大且具有视觉吸引力,对于任何需要在网站上展示日期或事件的开发者来说都是一个很好的工具。以下是对该PHP日历实现的关键...
`jscalendar-1.0` 是一个经典且轻量级的JavaScript日历组件,具备良好的文档支持,适用于各种需要日期选择的前端应用场景。它的高效和易用性使其成为开发者构建互动网页时的得力工具。通过深入理解和利用这个组件,...
【网易百宝箱JS日历】是一款基于JavaScript技术开发的日历组件,它以其美观的界面和实用的功能在网页设计中广泛应用。这款日历组件源于网易公司,被广大开发者所推崇,因为它不仅提供了基本的日历展示功能,还具备了...
用javascript面向对象的方法,加上清晰的思路,只用几行代码就做出了一个日历
不过,通常情况下,一个JavaScript日历控件会提供用户友好的界面,让用户能够方便地浏览和选择日期。它可能包括基本的日视图、周视图和月视图,还可能有事件标记、日期范围选择、节假日显示等功能。此外,它可能会与...
这些功能的实现依赖于JavaScript的面向对象编程、事件驱动编程以及DOM API的熟练运用。 CSS在日历控件中主要负责样式展示,包括颜色、字体、布局等。开发者可以通过修改CSS类选择器的属性,如颜色、背景、边框等,...
开发者可能使用了面向对象编程或者函数式编程的思路来组织代码,以确保代码的可维护性和可扩展性。 在"新建 文本文档.htm"中,这可能是一个简单的HTML文件,用于测试和展示这个农历日历组件。HTML文件通常包含...
8. **国际化**:如果日历控件需要面向全球用户,那么支持多种语言和日期格式是必要的。这涉及到日期的本地化处理,以及可能的右对齐和星期起始日的调整。 9. **可访问性**:为了使日历控件对所有用户友好,包括视障...
3. **面向对象编程(OOP)**:在JavaScript中,可以通过构造函数、原型链和闭包等机制实现面向对象编程。日历控件的每个实例可以视为一个对象,包含了与日历显示和操作相关的属性和方法。例如,可以有一个`Calendar`...
8. **插件和库**:有很多成熟的JavaScript日历插件和库,如FullCalendar、jQuery UI Datepicker等,它们提供了丰富的功能和自定义选项,可以帮助开发者快速实现日历功能,节省开发时间。 9. **国际化**:对于面向...
它具有面向对象、函数式和原型链等多种编程特性。 二、HTML结构 创建日历组件的第一步是构建HTML结构。通常,日历会包含一个标题(月份和年份)以及一排日格。每个日格可以是一个`<td>`元素,而每个月份可以是一个...
【C#】作为微软公司开发的一种面向对象的编程语言,C#在Web应用开发领域广泛应用。在本系统中,C#主要负责后台逻辑处理,如用户认证、数据操作等。通过ASP.NET框架,C#可以构建动态网页,提供交互性强、性能高效的...
JavaScript是一种解释型的、面向对象的、弱类型的脚本语言,广泛应用于网页和网络应用开发。它通常嵌入HTML文档中,为网页提供动态交互功能。由于JavaScript的跨平台特性,它可以在多种浏览器上运行,包括Internet ...
JavaScript是一种解释型、面向对象、弱类型的脚本语言,广泛用于Web开发。它主要运行在浏览器端,处理DOM(Document Object Model)以便与用户交互,更新网页内容。在创建日历控件时,JavaScript将用来处理日期对象...
- Prototype是早期流行的JavaScript库,它强化了JavaScript的面向对象编程能力。 - 它引入了一些新的语言特性,如类和模块,以及方便的DOM操作。 - Prototype的链式方法也使得代码更简洁,如 `$('element')....
实现JavaScript日历通常涉及以下几个关键点: 1. **DOM操作**:使用JavaScript与HTML页面进行交互,动态创建和修改元素,如显示日历的表格、按钮等。 2. **事件监听**:添加事件监听器,如点击按钮展示日历,或者...
此外,还可能包含了类(class)定义,如果使用了面向对象的编程方式。 总的来说,js日历控件是JavaScript与HTML/CSS结合的一个典型示例,展示了如何通过脚本语言实现动态网页功能。通过理解和实践这类控件,开发者...
首先,TypeScript是JavaScript的一个超集,它引入了静态类型系统和面向对象的特性,提高了代码的可维护性和可读性。在Vue.js项目中使用TypeScript,可以使得组件结构更加清晰,减少类型错误,并通过编译时检查提升...
综上所述,"超级好的js日历控件"涉及到JavaScript编程中的诸多方面,包括DOM操作、CSS样式设计、事件处理、时间和日期处理、模块化编程、响应式设计以及可访问性等多个知识点。通过对这些技术的熟练掌握,可以构建出...