js怎么写日历

1.如何用JS写一个日历

首先必须解决的问题是表格的行与列问题。列是固定的,七列,因为一周有七天。行需要动态计算,因为,每一个月的第一天是星期几是一个变数,因而第一天在表格中的第几个单元也就跟着变化,同时,每个月的总天数不一致也影响着各个月对表格行数的需要量。

一. 表格的行数问题

1.首先取得处理月的总天数

JS不提供此参数,我们需要计算。考虑到闰年问题会影响二月份的天数,我们先编写一个判断闰年的自编函数:

function is_leap(year) {

return (year%100==0?res=(year%400==0?1:0):res=(year%4==0?1:0));

}

接着定义一个包含十二个月在内的月份总天数的数组:

m_days=new Array(31,28+is_leap(ynow),31,30,31,31,30,31,30,31,30,31);

m_days这个数组里,二月份的天数已经加入闰年的信息:28+is_leap(ynow)。数组元素从0开始,正好对应于JS提供的Date函数提供的getMonth返回值,即0表示一月,1表示二月,2表示三月,依此类推。

这样,各月总数可以这样取得:m_days[x]。其中,x为0至11的自然数。

2.计算处理月第一天是星期几

可以使用Date函数的getDay取得,返回的值从0到6,0表示星期一,1表示星期二,2表示星期三,其余依此类推。代码如下(假设要处理的时间为2008年3月):

n1str=new Date(2008,3,1);

firstday=n1str.getDay();

有了月总天数和该月第一天是星期几这两个已知条件,就可以解决表格所需行数问题:(当前月天数+第一天是星期几的数值)除以七。表格函数需要整数,因此,我们使用Math.ceil来处理:

tr_str=Math.ceil((m_days[mnow] + firstday)/7);

表格中的tr标签实际上代表表格的行,因此变量tr_str是我们往下写表格的重要依据。

二. 打印日历表格

可以使用两个for语句嵌套起来实现:外层for语句写行,内层for语句写单元格。

for(i=0;i<tr_str;i++) { //外层for语句 - tr标签

document.write("<tr>");

for(k=0;k<7;k++) { //内层for语句 - td标签

idx=i*7+k; //表格单元的自然序号

date_str=idx-firstday+1; //计算日期

//这里是处理有效日期代码

} //内层for语句结束

document.write("</tr>");

} //外层for语句结束

单元格的自然序号是否代表有效日期非常关键,为此必须加入一个过滤机制:仅打印有效的日期。有效的日期大于0小于小于等于处理月的总天数。

2.如何用JavaScript编一个简单的日历

<script language=javascript>var DS_x,DS_y;function dateSelector() //构造dateSelector对象,用来实现一个日历形式的日期输入框。

{ var myDate=new Date(); this.year=myDate.getFullYear(); //定义year属性,年份,默认值为当前系统年份。 this.month=myDate.getMonth()+1; //定义month属性,月份,默认值为当前系统月份。

this.date=myDate.getDate(); //定义date属性,日,默认值为当前系统的日。 this.inputName=''; //定义inputName属性,即输入框的name,默认值为空。

注意:在同一页中出现多个日期输入框,不能有重复的name! this.display=display; //定义display方法,用来显示日期输入框。}function display() //定义dateSelector的display方法,它将实现一个日历形式的日期选择框。

{ var week=new Array('日','一','二','三','四','五','六'); document.write("<style type=text/css>"); document.write(" .ds_font td,span { font: normal 12px 宋体; color: #000000; }"); document.write(" .ds_border { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }"); document.write(" .ds_border2 { border: 1px solid #000000; cursor: hand; background-color: #DDDDDD }"); document.write("</style>"); document.write(""); document.write(""); document.write(""); document.write(" "); document.write("

"); document.write(" "); document.write(" "); document.write(" "); document.write(" "); document.write(" "); document.write(" "); document.write(" "); document.write("
<<<"+this.year+""+this.month+">>>
"); document.write(" "); document.write(" "); for(i=0;i<7;i++)document.write(" "); document.write(" "); document.write("
"+week[i]+"
"); document.write(" "); for(i=0;i<6;i++) { document.write(" ");for(j=0;j<7;j++) document.write(" "); document.write(" "); } document.write("
"); document.write(" 【关闭】"); document.write(" "); document.write(""); dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes[0].childNodes[2],this.year,this.month)}function subYear(obj) //减小。

3.想用js做日历怎么弄

1.写一个获取当前时间的脚本

2.写一个获取事件源绝对坐标的脚本

3.写一个日历生成脚本,根据年(闰年)月(大小月)周(周一到周日)生成日历

4.当事件源(一般是文本框)获得焦点的时候,触发获取绝对坐标的事件,然后生成当前月的日历,将此日历的坐标用脚本移动到文本框下方

5.生成日历的时候,给所有日添加返回事件,把当前选中的年月日反馈

6.用脚本把反馈回来的日期信息,写入事件源控件

7.网上日历控件一大堆,最好别自己写,很容易蛋疼的

4.日历用js如何实现

加入到你的页面中 js/Calendar.js 这是控件的路径Calendar.js 这个东西应该可以找的到吧,onclick="SelectDate(this)" 这是调用的方法。

5.求一个用JS编写的简单日历

<meta ; charset=gb2312" />日历演示<script language="javascript">/***************** 由于字数限制,请下载附件看使用说明.*******如果您使用本日历控件 请保留该信息 谢谢! *********** ******************/function Calendar(objName) { this.style = {borderColor : "#909eff", //边框颜色headerBackColor : "#909EFF", //表头背景颜色headerFontColor : "#ffffff", //表头字体颜色bodyBarBackColor : "#f4f4f4", //日历标题背景色bodyBarFontColor : "#000000", //日历标题字体色bodyBackColor : "#ffffff", //日历背景色bodyFontColor : "#000000", //日历字体色 bodyHolidayFontColor : "#ff0000", //假日字体色watermarkColor : "#d4d4d4", //背景水印色moreDayColor : "#cccccc" };this.showMoreDay = false; //是否显示上月和下月的日期this.Obj = objName; this.date = null;this.mouseOffset = null;this.dateInput = null;this.timer = null; };Calendar.prototype.toString = function(){ var str = this.getStyle();str += 'calendar" style="display:none;" onselectstart="return false" oncontextmenu="return false" id="Calendar">\n';str += '';str += this.getHeader();str += this.getBody(); str += '';return str;};Calendar.prototype.getStyle = function(){var str = '<style type="text/css">\n';str += '.calendar{position:absolute;width:140px!important;width /**/:142px;height:184px!important;height /**/:174px;background-color:'+this.style.bodyBackColor+';border:1px solid ' + this.style.borderColor + ';left:0px;top:0px;z-index:9999;}\n';str += '.cdrHeader{background-color:'+ this.style.headerBackColor +';width:140px;height:22px;font-size:12px;color:'+this.style.headerFontColor+';}\n';str += '.cdrWatermark{position:absolute;left:0px;top:55px;width:140px;font-family: Arial Black;font-size:50px;color:'+this.style.watermarkColor+';z-index:1;text-align:center;}\n';str += '.cdrBodyBar{background-color:' + this.style.bodyBarBackColor + ';font-size:12px;color:' + this.style.bodyBarFontColor + ';width:140px;height:20px;}\n';str += '.cdrBody{width:140px;height:122px!important; height /**/:110px;font-size:12px;cursor:pointer;color:' + this.style.bodyFontColor + ';}\n';str += '.dayOver{height:16px;padding:0px;border:1px solid black;background-color:#f4f4f4;}\n';str += '.dayOut{padding:1px;border:none;height:16px;}\n';str += '.menuOver{background-color:'+this.style.headerBackColor+';color:'+this.style.headerFontColor+';font-size:12px;}\n';str += '.headerOver{border:1px solid black;background-color:#f4f4f4;color:black;cursor:default;}\n';str += '.cdrMenu{font-size:12px;border:1px solid #000000;background-color:#ffffff;cursor:default;width:100%}\n';str += 'html>body #Calendar{width:142px;174px;}';str += '</style>\n'; return str;};Calendar.prototype.getHeader = function(){var str = '

\n';str += '\n';str += '\n';str += '\n';str += '\n';str += '
<<<00<meta ; charset=utf-8" />无标题文档<body>

js怎么写日历

转载请注明出处育才学习网 » js怎么写日历

知识

支持英文怎么写

阅读(266)

本文主要为您介绍支持英文怎么写,内容包括“支持”英文单词怎么写,支持英文怎么写,“支持”英文单词怎么写。支持的英语短语:hold out;in favor of;in support ofhold 读法 英 [həʊld] 美 [hold]

知识

hap模式怎么写

阅读(170)

本文主要为您介绍hap模式怎么写,内容包括无聊,想编写模式了,但是Hap模式用什么编写,好像自己写“免流模式”,我不想再做伸手党了,自己的“模式”自,怎么用HAP免流。网站是没有了,这太复杂。自己慢慢百度相关的资料。这里作为免流初学者给你

知识

震的甲骨文怎么写

阅读(282)

本文主要为您介绍震的甲骨文怎么写,内容包括甲骨文中的震字怎写,震动的繁体字怎么写,雨字头的字写法。楼上所贴仅为篆书而已,不是金文。金文的出现时期介於甲骨文与小篆之间。那时出现的文字并没有现在这麽多,也没有“梓”这个字。不知楼主问

知识

楷书由字怎么写

阅读(205)

本文主要为您介绍楷书由字怎么写,内容包括楷体字怎么写,楷书的楷字怎么写,正楷字怎么写特点。要想写好楷体字必须掌握好笔法和字法。执笔苏东坡说:“把笔无定法,要使虚而宽。”五指执笔法:即以拇指和食指的指肚捏住笔杆(适当高度),保证

知识

棉韩文怎么写

阅读(326)

本文主要为您介绍棉韩文怎么写,内容包括“棉”字韩文怎么写啊,棉韩文怎么写,棉韩文怎么写。1 羊毛 Woll ウール --양모; 양털2 棉 Cotton 棉(めん) ---면;코튼3 醋酸纤维 Acetate アセテート繊维

知识

项目简报怎么写

阅读(234)

本文主要为您介绍项目简报怎么写,内容包括简报怎么写帮帮忙,写写,简报的格式是什么,建筑安全文明施工工地的简报怎么写。根据使用情况,简报一般有以下几种:工作简报是为了推动日常工作而写的简报,也是简报中最常见的一种形式,它的任务是及时反

知识

竖提横的笔画怎么写

阅读(206)

本文主要为您介绍竖提横的笔画怎么写,内容包括笔画竖提怎么写,竖提笔顺怎样写,横竖的竖怎么写。2 先点与后点 :先点点-- 义、为(笔顺:点、撇、横折钩、 [内]点)。后点点-- 叉、发、拔、成(凡从戈者均末笔为点)。 3 点点的

知识

英国国旗英文怎么写

阅读(325)

本文主要为您介绍英国国旗英文怎么写,内容包括英国国旗用英语应该怎样写,英国国旗的英文,“英国国旗”也就是“米字旗”用英文怎么说。The United Kingdom of Great Britain and Northern Ireland uses as its

知识

横笔画怎么写

阅读(220)

本文主要为您介绍横笔画怎么写,内容包括横的笔顺怎么写,横的笔画顺序怎么写的,横的笔画顺序怎么写。横的笔顺:横、竖、撇、点、横、竖、竖、横、竖、横折、横、竖、横、撇、点。基本信息:拼音:héng,hèng部首:木,四角码:44986,

知识

易语言怎么写病毒

阅读(203)

本文主要为您介绍易语言怎么写病毒,内容包括怎样用易语言写病毒我初学者求师傅,易语言怎么写写出病毒的源码注意,不是直接编写病毒,,怎么好多易语言写出来的软件都提示病毒啊。关机只需要一个关机命令就行啊 关机()QQ骂人需要用到模拟按键 说

知识

古代辞职信怎么写

阅读(227)

本文主要为您介绍古代辞职信怎么写,内容包括古代如何说辞职,古代辞职书叫什么,辞职信怎么写。古代篇章,常常会写到古人委婉表示辞职的说法,辑录数例如下: 1.乞骸骨、告老“乞”是“请求”的意思,“骸骨”指的是尸骸,意思是使自己的骸

知识

辩论稿开头怎么写

阅读(266)

本文主要为您介绍辩论稿开头怎么写,内容包括辩论稿的开头怎么写,辩论稿的开篇怎么写啊,辩论稿怎么开头,结尾。辩论稿是表达自己观念的一种写法:正方: 写份提纲,列出你认为的4-7点关键问题 反方: 写份提纲,列出你认为的4-7点关键问题分别从其中

知识

履历证明怎么写

阅读(255)

本文主要为您介绍履历证明怎么写,内容包括简历中的个人说明怎么写,个人履历怎么写,法定代表人履历证明怎么写。原发布者:kyyige1525个人说明怎么写 比如:为人诚恳,吃苦耐劳,乐观积极,适应能力强;认识问题有超出实际年龄的深度,注重团队的共

知识

公司经营项目怎么写

阅读(203)

本文主要为您介绍公司经营项目怎么写,内容包括营业执照一般经营项目怎么写,公司经营范围如何写,营业执照注册中公司经营项目应该怎么填我想尽可能的多填一些,。营业执照一般经营项目书写方法:根据目前实际业务内容,做什么业务就写什么。 2、

知识

js怎么写上传

阅读(172)

本文主要为您介绍js怎么写上传,内容包括Javascript如何实现上传图片的功能,想在一个div里面添加图片,用js怎么写啊,用js、jquery如何实现上传图片的预览。您应该是想,当点击按钮或者其他动作的时候触发插入图片动作。思路::比如一个按钮,点击的

知识

html的日历怎么写

阅读(203)

本文主要为您介绍html的日历怎么写,内容包括制作日历怎样用html制作一个日历,求日历的HTML代码,求html代码,显示日历和时间的代码。网页台历代码如下:<html><head><title>网页上的日期台历</title><STYLE>A.menuitem {COLOR

知识

php里面怎么写js

阅读(171)

本文主要为您介绍php里面怎么写js,内容包括js中如何写php语句,在PHP中的a标签中写js代码怎么写啊,在线求助PHP页面里插入JS代码怎么写。楼主的意思是想把php的k1变量做js的参数传到js的那个函数里面去吗, 如果是这样的话, 修改这行代码:<div i

知识

vue.js组件怎么写

阅读(189)

本文主要为您介绍vue.js组件怎么写,内容包括前端面试,被问到vue的组件是怎么写,我怎么回答,如何正确使用Vue.js的组件,如何正确使用Vue.js的组件。定义一个组件// title.vue{{title.title}}<script>export default {props: {tit

知识

js怎么写hover

阅读(180)

本文主要为您介绍js怎么写hover,内容包括如何用js写ahover样式,如何用js写ahover样式,如何用js控制a:hover的样式。js右击事件先贴代码:

知识

jsp复选框怎么写

阅读(205)

本文主要为您介绍jsp复选框怎么写,内容包括JSP中怎么把复选框的值写道数据库中,JSP中怎么把复选框的值写道数据库中,我想在jsp中写了一个复选框,要怎么才能传递主键值啊。把需要获取的值赋值给value属性就行了。建议在jsp中用jstl的<c:fore

知识

java怎么写json

阅读(198)

本文主要为您介绍java怎么写json,内容包括java中JSON数据如何写,java怎么定义一个json,JAVA这种格式的json怎么写啊。没懂你要问什么,是问JSON的格式么?我就简单地介绍下json格式:按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对"

知识

用myeclipse怎么写jsp

阅读(212)

本文主要为您介绍用myeclipse怎么写jsp,内容包括怎样用MyEclipse编写调试JSP网页,使用MyEclipse怎么运行jsp,用myeclipse写的jsp页面怎么打开。一:JSP页面编写1首先用鼠标左键双击桌面的“MyEclipse”图标。2出现下图所示的加载插件界面,这断

[/e:loop]