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.想用js做日历怎么弄

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

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

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

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

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

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

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

3.如何用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) //减小。

4.求一个用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 += '
<<<00Calendar.js 这个东西应该可以找的到吧,onclick="SelectDate(this)" 这是调用的方法。

js日历怎么写

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

知识

阳字第一笔怎么写

阅读(207)

本文主要为您介绍阳字第一笔怎么写,内容包括阳字的第一笔是什么,阳字的第一笔怎么读,太阳的阳字第一笔怎么写。笔画数:6; 部首:阝; 笔顺:折竖竖折横横阳 yáng 明亮。 中国古代哲学认为宇宙中通贯所有物质的两大对立面之一,与“阴”相对:一阴

知识

coveringletter怎么写

阅读(160)

本文主要为您介绍coveringletter怎么写,内容包括coveringletter是指什么怎么写,澳大利亚打工CoveringLetter具体怎么写谁教教我,或者给我个示,国coveringletters怎么写。你去www.seek.com.au或careerone上看看, 有范例的,www.seek.com.au的比

知识

孩子的话怎么写一年级

阅读(187)

本文主要为您介绍孩子的话怎么写一年级,内容包括小学生一年级孩子的话怎样写,小学一年级家长的话怎么写,家长的话怎么写一年级。指导孩子写话,一般来说应注意抓住"看、想、说、写"四个环节。认真观察看仔细 观察是一个知觉、思维、语言相结合

知识

9点28用英语怎么写

阅读(183)

本文主要为您介绍9点28用英语怎么写,内容包括9点28用英语怎么说,28,用英语怎么写,28用英语怎么写。9点55分的英文:five to ten 或者是:nine fifty-five英语时间通常用以下两种方法表达:直接表达法A. 用基数词

知识

flash跳转到网页的代码怎么写

阅读(197)

本文主要为您介绍flash跳转到网页的代码怎么写,内容包括如何添加点击FLASH跳转网页的代码,如何添加点击FLASH跳转网页的代码,FLASH跳转代码怎么写。你可以添加一个按钮 点击按钮链接外部网页:on(release){getURL("外部网页网址","打开网页的方式

知识

谷的笔画顺序怎么写的

阅读(172)

本文主要为您介绍谷的笔画顺序怎么写的,内容包括谷的笔画顺序怎么写的,谷的笔顺怎么写,雨笔画顺序怎么写的。

知识

春字的笔顺怎么写

阅读(179)

本文主要为您介绍春字的笔顺怎么写,内容包括春字笔顺怎么写的,春的笔顺怎么写啊,有几画,春字的笔顺怎么写呀。春 chūn 一年的第一季:春季(农历正月至三月)。春节。春色。春晖(春天的阳光,喻父母的恩情)。春山(春天的山,山色如黛,喻妇女的眉毛

知识

个人医保证明怎么写

阅读(323)

本文主要为您介绍个人医保证明怎么写,内容包括医保个人单位证明怎么写,医疗保险报销的个人证明怎么写,医疗保险单位证明怎么写。(www.abcbxw.com/baoxian/)互联网保险购买决策平台-多保鱼保险网是一个保险购买决策平台,提供意外险、健康险、

知识

趁虚而入怎么写

阅读(148)

本文主要为您介绍趁虚而入怎么写,内容包括趁虚而入怎么读,趁虚而入啥意思,乘虚而入可以写成趁虚而入么。趁虚而入:chèn xū ér rù趁:乘着;虚:空虚。趁力量虚弱时侵入。 贬义出 处:清·石玉昆《三侠五义》第40回:“如今百病趁虚而

知识

三年级反问句怎么写

阅读(216)

本文主要为您介绍三年级反问句怎么写,内容包括三年级下,反问句大全,小学三年级反问句改陈述句怎么讲,将反问句改成陈述句1,那时我顶多三年级,怎么写得了2,我憋住。反问句后面有问号 陈述句是句号 反问句变陈述句: 先去掉反问词,再进行否定(加

知识

吸毒担保书怎么写

阅读(160)

本文主要为您介绍吸毒担保书怎么写,内容包括吸毒保证书,担保书怎么写说简单一点,担保书怎么写。你好,以下内容是小编在 大律师网 那边找到的担保书范本:个人担保书范文_________有限公司:本保证人_________自愿为___

知识

学生档案的个人鉴定怎么写

阅读(189)

本文主要为您介绍学生档案的个人鉴定怎么写,内容包括大学生档案里的自我鉴定怎么写,学生档案个人鉴定怎么写50字,大学生档案里的自我鉴定怎么写。原发布者:怪擦亮然如果大家想了解大学生毕业自我鉴定怎么写?可以通过下面这五篇范文去了解和学

知识

福利院策划书怎么写

阅读(173)

本文主要为您介绍福利院策划书怎么写,内容包括福利院的策划书该怎么写,怎么写福利院活动策划书,去孤儿院的策划书急求。情系福利院活动策划书一 活动背景:最美不过夕阳红,走向老年,是每一个人都不得不面对的。目前,中国也正面临着严重的人口老

知识

以心换心的英文怎么写

阅读(208)

本文主要为您介绍以心换心的英文怎么写,内容包括以心换心的英文怎么写,以心换心用英语怎么说,敢不敢以心换心翻译英文。it may not look and sound horrific in a Chinese mind, but if you ste

知识

js外部文件怎么写

阅读(185)

本文主要为您介绍js外部文件怎么写,内容包括外部javascript怎么写,html如何调用外部js文件,外部的js文件该怎么写,是什么格式的搜,怎么写一个外部js文件,网页里怎么用。<script src = "index_1.js" type="text/javascript"></script&gt; 你这个

知识

jsp判断语句怎么写

阅读(197)

本文主要为您介绍jsp判断语句怎么写,内容包括jsp页面的判断语句怎么写,Java中判断语句哪种写法,更好一些,用jsp做一个判断语句,在线跪求jsp代码。你把标签都套在一起了 不报错才怪 不能这样写 标签冲突 JSP页面有异常一楼说的对 用<% if 也

知识

jsp数据库查询语句怎么写

阅读(223)

本文主要为您介绍jsp数据库查询语句怎么写,内容包括jsp查询数据库里面的信息怎么写代码啊,JSP页面中,在数据库里查询,怎么样编写根据姓名查找的程序呢,JSP中如何使用不同sql查询语句查询数据。是这个?不是万能的,不过很有用,调用这个方法只要3

知识

js开头怎么写

阅读(219)

本文主要为您介绍js开头怎么写,内容包括js以开头以结尾字符串怎么写,把JavaScript单独写成文件,开头怎么写,javascript以什么开头。<!DOCTYPE html><html><META charset=gbk><head><title>JS生成验证码</title><

知识

js简单的轮播代码怎么写

阅读(194)

本文主要为您介绍js简单的轮播代码怎么写,内容包括jquery简单自动轮播图代码怎么写,简单的HTML+js图片轮播,如何高效实现js轮播(要简单代码,最好20行以内,这是我写的,感。html部分 this is the page一 this is the page二 this is the page

知识

js中怎么写超链接

阅读(444)

本文主要为您介绍js中怎么写超链接,内容包括js里怎么写链接,js里怎么写链接,js中如何写html链接代码。你的js中的代码可以这样写:document.write("<li&gt;把广告的html代码都放在这里面</li>");documen

知识

js怎么写定时器

阅读(178)

本文主要为您介绍js怎么写定时器,内容包括js定时器怎么写,js中定时器怎么写,怎么用Javascript写个定时器。定时器:用以指定在一段特定的时间后执行某段程序。JS中定时执行,setTimeout和setInterval的区别,以及l解除方法set

知识

js怎么写倒计时

阅读(194)

本文主要为您介绍js怎么写倒计时,内容包括JS5秒倒计时的代码怎么写时间要实时显示在屏幕上的,JavaScript脚本如何写一个倒计时的例子啊,商品倒计时js特效怎么写呢。<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Ty

[/e:loop]