LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员
"; } document.getElementById("selectMonth").innerHTML = "

一个不错的日历选择(含星期显示)

admin
2010年10月24日 19:3 本文热度 5774
[code] 一个不错的日历选择-无忧WEB技术网 <script language="JavaScript" type="text/javascript"> // written by Tan Ling Wee on 2 Dec 2001 // last updated 20 June 2003 // email : fuushikaden@yahoo.com //last updated by wangwq@atools.cn //change the Chinese to escape code //last update by wangwq @atools.cn //added Clear func 2004-12-23 14:19:04 var showCharCh = 1; // 0 - English ; 1 - Chinese (if to use in english or Chinese) var fixedX = -1; // x position (-1 if to appear below control) var fixedY = -1; // y position (-1 if to appear below control) var startAt = 1; // 0 - sunday ; 1 - monday var showWeekNumber = 1; // 0 - don't show; 1 - show var showToday = 1; // 0 - don't show; 1 - show var imgDir = "images/"; // directory for images ... e.g. var imgDir="/img/" var gotoString = unescape("%u8FD4%u56DE%u5F53%u524D%u6708"); var todayString = unescape("%u4ECA%u5929%u662F"); var weekString = unescape("%u661F%u671F"); var scrollLeftMessage = unescape("%u70B9%u51FB%u6309%u94AE%u6EDA%u52A8%u5230%u4E0A%u4E00%u6708%2C%u6309%u4F4F%u9F20%u6807%u4E0D%u52A8%u81EA%u52A8%u5411%u524D%u6EDA%u52A8."); var scrollRightMessage = unescape("%u70B9%u51FB%u6309%u94AE%u6EDA%u52A8%u5230%u4E0B%u4E00%u6708%2C%u6309%u4F4F%u9F20%u6807%u4E0D%u52A8%u81EA%u52A8%u5411%u540E%u6EDA%u52A8."); var selectMonthMessage = unescape("%u9009%u62E9%u6708%u5EA6."); var selectYearMessage = unescape("%u9009%u62E9%u5E74%u5EA6."); var selectDateMessage = unescape("%u9009%u62E9%u65E5%u671F%20%5Bdate%5D%20."); // do not replace [date], it will be replaced by date. var closeWindowMessage = unescape("%u5173%u95ED%u65E5%u671F%u9009%u62E9%u7A97%u53E3"); var clearToPlaceValueMessage = unescape("%u6E05%u9664"); if(showCharCh==0) { gotoString="Back To Currently Month"; todayString="Today Is"; weekString="Week"; scrollLeftMessage="Click The Button To Move Previous Month,Press To Auto Move."; scrollRightMessage="Click The Button To Move Next Month,Press To Auto Move."; selectMonthMessage="Select Month"; selectYearMessage="Select Year"; selectDateMessage="Select Date [date] ."; closeWindowMessage="Close Date Selected Window"; clearToPlaceValueMessage="Clear"; } var crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear; var bPageLoaded =false; var ie =document.all; var dom =document.getElementById; var ns4 =document.layers; var today =new Date(); var dateNow = today.getDate(); var monthNow = today.getMonth(); var yearNow = today.getYear(); var imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif","clear.gif"); var img = new Array(); var bShow = false; /* hides and objects (for IE only) */ function showElement( elmID ) { if( ie ) { for( i = 0; i < document.all.tags( elmID ).length; i++ ) { obj = document.all.tags( elmID )[i]; if( !obj ││ !obj.offsetParent ) { continue; } obj.style.visibility = ""; } } } function HolidayRec (d, m, y, desc) { this.d = d; this.m = m; this.y = y; this.desc = desc; } var HolidaysCounter = 0; var Holidays = new Array(); function addHoliday (d, m, y, desc) { Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc ); } if (dom) { for (i=0;i
 " + sName + " 
" + sHTML + "
"; monthConstructed=true; } } function popUpMonth() { constructMonth(); crossMonthObj.visibility = (dom││ie)? "visible" : "show"; crossMonthObj.left = parseInt(crossobj.left) + 50; crossMonthObj.top = parseInt(crossobj.top) + 26; hideElement( 'SELECT', document.getElementById("selectMonth") ); hideElement( 'APPLET', document.getElementById("selectMonth") ); } function popDownMonth() { crossMonthObj.visibility= "hidden"; } /*** Year Pulldown ***/ function incYear() { for (i=0; i<7; i++){ newYear = (i+nStartingYear)+1; if (newYear==yearSelected) { txtYear = " " + newYear + " " ;} else { txtYear = " " + newYear + " " ;} document.getElementById("y"+i).innerHTML = txtYear; } nStartingYear ++; bShow=true; } function decYear() { for (i=0; i<7; i++){ newYear = (i+nStartingYear)-1; if (newYear==yearSelected) { txtYear = " " + newYear + " " ;} else { txtYear = " " + newYear + " " ;} document.getElementById("y"+i).innerHTML = txtYear; } nStartingYear --; bShow=true; } function selectYear(nYear) { yearSelected=parseInt(nYear+nStartingYear); yearConstructed=false; constructCalendar(); popDownYear(); } function constructYear() { popDownMonth(); sHTML = ""; if (!yearConstructed) { sHTML = "-"; j = 0; nStartingYear = yearSelected-3; for (i=(yearSelected-3); i<=(yearSelected+3); i++) { sName = i; if (i==yearSelected){ sName = "" + sName + ""; } sHTML += " " + sName + " "; j ++; } sHTML += "+"; document.getElementById("selectYear").innerHTML = "" + sHTML + "
"; yearConstructed = true; } } function popDownYear() { clearInterval(intervalID1); clearTimeout(timeoutID1); clearInterval(intervalID2); clearTimeout(timeoutID2); crossYearObj.visibility= "hidden"; } function popUpYear() { var leftOffset; constructYear(); crossYearObj.visibility = (dom││ie)? "visible" : "show"; leftOffset = parseInt(crossobj.left) + document.getElementById("spanYear").offsetLeft; if (ie) { leftOffset += 6; } crossYearObj.left = leftOffset; crossYearObj.top = parseInt(crossobj.top) + 26; } /*** calendar ***/ function WeekNbr(n) { // Algorithm used: // From Klaus Tondering's Calendar document (The Authority/Guru) // hhtp://www.tondering.dk/claus/calendar.html // a = (14-month) / 12 // y = year + 4800 - a // m = month + 12a - 3 // J = day + (153m + 2) / 5 + 365y + y / 4 - y / 100 + y / 400 - 32045 // d4 = (J + 31741 - (J mod 7)) mod 146097 mod 36524 mod 1461 // L = d4 / 1460 // d1 = ((d4 - L) mod 365) + L // WeekNumber = d1 / 7 + 1 year = n.getFullYear(); month = n.getMonth() + 1; if (startAt == 0) { day = n.getDate() + 1; } else { day = n.getDate(); } a = Math.floor((14-month) / 12); y = year + 4800 - a; m = month + 12 * a - 3; b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400); J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045; d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461; L = Math.floor(d4 / 1460); d1 = ((d4 - L) % 365) + L; week = Math.floor(d1/7) + 1; return week; } function constructCalendar () { var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31); var dateMessage; var startDate = new Date (yearSelected,monthSelected,1); var endDate; if (monthSelected==1) { endDate = new Date (yearSelected,monthSelected+1,1); endDate = new Date (endDate - (24*60*60*1000)); numDaysInMonth = endDate.getDate(); } else { numDaysInMonth = aNumDays[monthSelected]; } datePointer = 0; dayPointer = startDate.getDay() - startAt; if (dayPointer<0) { dayPointer = 6; } sHTML = ""; if (showWeekNumber==1) { sHTML += ""; } for (i=0; i<7; i++) { sHTML += ""; } sHTML +=""; if (showWeekNumber==1) { sHTML += ""; } for ( var i=1; i<=dayPointer;i++ ) { sHTML += ""; } for ( datePointer=1; datePointer<=numDaysInMonth; datePointer++ ) { dayPointer++; sHTML += "" ; if ((showWeekNumber==1)&&(datePointer"; } } } try { document.getElementById("content").innerHTML = sHTML; document.getElementById("spanMonth").innerHTML = " " + monthName[monthSelected] + " "; document.getElementById("spanYear").innerHTML = " " + yearSelected + " "; } catch(e) { } } /* *@format default:yyyy-mm-dd *can use:yyyy-m-d,d-m-yyyy,dd-mm-yyyy,mm-dd-yyyy,m-d-yyy... * :yyyy.mm.dd... * :yyyy/mm/dd... * :yyyy mm dd... * :custom *@ctl2:ToPlaceValue control *@ct1:the calendar appear below control */ function show_calendar(ctl2,ctl,format) { var leftpos=0 var toppos=0 ctl=ctl││ctl2 format=format││"yyyy-mm-dd" if (bPageLoaded) { if ( crossobj.visibility == "hidden" ) { ctlToPlaceValue = ctl2 dateFormat=format; formatChar = " " aFormat = dateFormat.split(formatChar) if (aFormat.length<3) { formatChar = "/" aFormat = dateFormat.split(formatChar) if (aFormat.length<3) { formatChar = "." aFormat = dateFormat.split(formatChar) if (aFormat.length<3) { formatChar = "-" aFormat = dateFormat.split(formatChar) if (aFormat.length<3) { // invalid date format formatChar="" } } } } tokensChanged = 0 if ( formatChar != "" ) { // use user's date aData = ctl2.value.split(formatChar) for (i=0;i<3;i++) { if ((aFormat[i]=="d") ││ (aFormat[i]=="dd")) { dateSelected = parseInt(aData[i], 10) tokensChanged ++ } else if ((aFormat[i]=="m") ││ (aFormat[i]=="mm")) { monthSelected = parseInt(aData[i], 10) - 1 tokensChanged ++ } else if (aFormat[i]=="yyyy") { yearSelected = parseInt(aData[i], 10) tokensChanged ++ } else if (aFormat[i]=="mmm") { for (j=0; j<12; j++) { if (aData[i]==monthName[j]) { monthSelected=j tokensChanged ++ } } } else if (aFormat[i]=="mmmm") { for (j=0; j<12; j++) { if (aData[i]==monthName2[j]) { monthSelected=j tokensChanged ++ } } } } } if ((tokensChanged!=3)││isNaN(dateSelected)││isNaN(monthSelected)││isNaN(yearSelected)) { dateSelected = dateNow monthSelected = monthNow yearSelected = yearNow } odateSelected=dateSelected omonthSelected=monthSelected oyearSelected=yearSelected aTag = ctl do { aTag = aTag.offsetParent; leftpos += aTag.offsetLeft; toppos += aTag.offsetTop; } while(aTag.tagName!="BODY"); crossobj.left = fixedX==-1 ? ctl.offsetLeft + leftpos : fixedX crossobj.top = fixedY==-1 ? ctl.offsetTop + toppos + ctl.offsetHeight + 2 : fixedY constructCalendar (1, monthSelected, yearSelected); crossobj.visibility=(dom││ie)? "visible" : "show" hideElement( 'SELECT', document.getElementById("calendar") ); hideElement( 'APPLET', document.getElementById("calendar") ); bShow = true; } else { hideCalendar() if (ctlNow!=ctl) {show_calendar(ctl2,ctl,format)} } ctlNow = ctl } } //hidden the select window by "ESC" document.onkeypress = function hidecal1 () { if (event.keyCode==27) { hideCalendar() } } //hidden the select window by click out this document.onclick = function hidecal2 () { if (!bShow) { hideCalendar() } bShow = false } init() </script> [/code]

该文章在 2010/10/24 19:03:59 编辑过
" + weekString + ""+ dayName[i]+"
" + WeekNbr(startDate) + "  "; sStyle=styleAnchor; if ((datePointer==odateSelected) && (monthSelected==omonthSelected) && (yearSelected==oyearSelected)) { sStyle+=styleLightBorder ;} sHint = ""; for (k=0;k " + datePointer + "";} else if (dayPointer % 7 == (startAt * -1)+1) { sHTML += " " + datePointer + ""; } else { sHTML += " " + datePointer + ""; } sHTML += ""; if ((dayPointer+startAt) % 7 == startAt) { sHTML += "
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号