资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

javascript日历,js手写日历

谁给我发一个JavaScript日历代码完整版的包括绘制的表格按键这些,谢谢了

脚本说明:

嘉祥网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

把如下代码加入body区域中

script language="javascript"

!--

// fill the month table with column headings

function day_title(day_name){

document.write("TD ALIGN=center WIDTH=35"+day_name+"/TD")

}

// fills the month table with numbers

function fill_table(month,month_length)

{

day=1

// begin the new month table

document.write("TABLE BORDER=3 CELLSPACING=3 CELLPADDING=%3TR")

document.write("TD COLSPAN=7 ALIGN=centerB"+month+"   "+year+"/BTR")

// column headings

day_title("Mon")

day_title("Tue")

day_title("Wed")

day_title("Thu")

day_title("Fri")

day_title("Sat")

day_title("Sun")

// pad cells before first day of month

document.write("/TRTR")

for (var i=1;istart_day;i++){

document.write("TD")

}

// fill the first week of days

for (var i=start_day;i8;i++){

document.write("TD ALIGN=center"+day+"/TD")

day++

}

document.write("TR")

// fill the remaining weeks

while (day = month_length) {

for (var i=1;i=7  day=month_length;i++){

document.write("TD ALIGN=center"+day+"/TD")

day++

}

document.write("/TRTR")

// the first day of the next month

start_day=i

}

document.write("/TR/TABLEBR")

}

// end hiding --

/script

script language="javascript"

// year

year=2000

// first day of the week of the new year

today= new Date("January 1, "+year)

start_day = today.getDay() + 1   // starts with 0

fill_table("January",31)

fill_table("February",28)

fill_table("March",31)

fill_table("April",30)

fill_table("May",31)

fill_table("June",30)

fill_table("July",31)

fill_table("August",31)

fill_table("September",30)

fill_table("October",31)

fill_table("November",30)

fill_table("December",31)

/script

javascript实现的日历控件,为什么不显示?

可能是你的jquery-latest.min.js和你的jquery-ui.min.js不兼容造成的,你可以换个jquery-ui.js的版本,用官网给出的那个 就可以显示日历的插件,没有问题的,我都已经替你测过啦

直接用你给的源代码,在浏览器调试会报TypeError: $.browser is undefined的错误,你也没必要追本溯源,直接换个jquery-ui的版本就行啦

关于用JAVASCRIPT做日历的问题!

html

headmeta http-equiv="Content-Type" content="text/html; charset=gb2312"

title日期选择 - BY ziyue/title

script language="JavaScript" type="text/JavaScript"

/*=======Calendar.js=======By Jiang Hongbin=======*/

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 today;

document.writeln("div id='Calendar' style='position:absolute; z-index:1; visibility: hidden; filter:\"progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#999999,strength=3)\"'/div");

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 getStringDay(str)

{

//得到输入框的年,月,日

var str=str.split("-")

this.now = new Date(parseFloat(str[0]),parseFloat(str[1])-1,parseFloat(str[2]));

this.year = this.now.getFullYear();

this.month = this.now.getMonth();

this.day = this.now.getDate();

}

function newCalendar() {

var parseYear = parseInt(document.all.Year.options[document.all.Year.selectedIndex].value);

var newCal = new Date(parseYear, document.all.Month.selectedIndex, 1);

var day = -1;

var startDay = newCal.getDay();

var daily = 0;

if ((today.year == newCal.getFullYear()) (today.month == newCal.getMonth()))

day = today.day;

var tableCal = document.all.calendar;

var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

for (var intWeek = 1; intWeek tableCal.rows.length;intWeek++)

for (var intDay = 0;intDay tableCal.rows[intWeek].cells.length;intDay++)

{

var cell = tableCal.rows[intWeek].cells[intDay];

if ((intDay == startDay) (0 == daily))

daily = 1;

if(day==daily) //今天,调用今天的Class

{

cell.style.background='#6699CC';

cell.style.color='#FFFFFF';

//cell.style.fontWeight='bold';

}

else if(intDay==6) //周六

cell.style.color='green';

else if (intDay==0) //周日

cell.style.color='red';

if ((daily 0) (daily = intDaysInMonth))

{

cell.innerText = daily;

daily++;

}

else

cell.innerText = "";

}

}

function GetDate(InputBox)

{

var sDate;

//这段代码处理鼠标点击的情况

if (event.srcElement.tagName == "TD")

if (event.srcElement.innerText != "")

{

sDate = document.all.Year.value + "-" + document.all.Month.value + "-" + event.srcElement.innerText;

eval("document.all."+InputBox).value=sDate;

HiddenCalendar();

}

}

function HiddenCalendar()

{

//关闭选择窗口

document.all.Calendar.style.visibility='hidden';

}

function ShowCalendar(InputBox)

{

var x,y,intLoop,intWeeks,intDays;

var DivContent;

var year,month,day;

//var o=document.getElementById(InputBox);

var o=InputBox;

var oid=o.id;

var thisyear; //真正的今年年份

if(!oid)oid=o.name;

thisyear=new getToday();

thisyear=thisyear.year;

today = o.value;

if(isDate(today))

today = new getStringDay(today);

else

today = new getToday();

//显示的位置

x=o.offsetLeft;

y=o.offsetTop;

while(o=o.offsetParent)

{

x+=o.offsetLeft;

y+=o.offsetTop;

}

document.all.Calendar.style.left=x+2;

document.all.Calendar.style.top=y+20;

document.all.Calendar.style.visibility="visible";

//下面开始输出日历表格(border-color:#9DBAF7)

DivContent="table border='0' cellspacing='0' style='border:1px solid #0066FF; background-color:#EDF2FC'";

DivContent+="tr";

DivContent+="td style='border-bottom:1px solid #0066FF; background-color:#C7D8FA'";

//年

DivContent+="select name='Year' id='Year' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'";

for (intLoop = thisyear - 100; intLoop (thisyear + 2); intLoop++)

DivContent+="option value= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + "" + intLoop + "/option";

DivContent+="/select";

//月

DivContent+="select name='Month' id='Month' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'";

for (intLoop = 0; intLoop months.length; intLoop++)

DivContent+="option value= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + "" + months[intLoop] + "/option";

DivContent+="/select";

DivContent+="/td";

DivContent+="td style='border-bottom:1px solid #0066FF; background-color:#C7D8FA; font-weight:bold; font-family:Wingdings 2,Wingdings,Webdings; font-size:16px; padding-top:2px; color:#4477FF; cursor:hand' align='center' title='关闭' onClick='javascript:HiddenCalendar()'S/td";

DivContent+="/tr";

DivContent+="trtd align='center' colspan='2'";

DivContent+="table id='calendar' border='0' width='100%'";

//星期

DivContent+="tr";

for (intLoop = 0; intLoop days.length; intLoop++)

DivContent+="td align='center' style='font-size:12px'" + days[intLoop] + "/td";

DivContent+="/tr";

//天

for (intWeeks = 0; intWeeks 6; intWeeks++)

{

DivContent+="tr";

for (intDays = 0; intDays days.length; intDays++)

DivContent+="td onClick='GetDate(\"" + oid + "\")' style='cursor:hand; border-right:1px solid #BBBBBB; border-bottom:1px solid #BBBBBB; color:#215DC6; font-family:Verdana; font-size:12px' align='center'/td";

DivContent+="/tr";

}

DivContent+="/table/td/tr/table";

document.all.Calendar.innerHTML=DivContent;

newCalendar();

}

function isDate(dateStr)

{

var datePat = /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/;

var matchArray = dateStr.match(datePat);

if (matchArray == null) return false;

var month = matchArray[3];

var day = matchArray[5];

var year = matchArray[1];

if (month 1 || month 12) return false;

if (day 1 || day 31) return false;

if ((month==4 || month==6 || month==9 || month==11) day==31) return false;

if (month == 2)

{

var isleap = (year % 4 == 0 (year % 100 != 0 || year % 400 == 0));

if (day 29 || (day==29 !isleap)) return false;

}

return true;

}

/script

style type="text/css"

!--

td,input {

font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 12px;

}

--

/style

/head

body

form name="form1" method="post" action=""

table width="500" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC"

tr bgcolor="#FFFFFF"

td align="right"您的生日:/td

tdinput name="birthday" type="text" id="birthday" title="点击选择" onClick="javascript:ShowCalendar(this)" size="20"

input type="button" name="Submit" value="选 择" onClick="javascript:ShowCalendar(form1.birthday)"/td

tdBLOG:a href="";/a/td

/tr

/table

/form

/body

/html


文章标题:javascript日历,js手写日历
文章出自:http://cdkjz.cn/article/dsddsoc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220