LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

超漂亮的JS日历控件

admin
2010年4月30日 14:48 本文热度 9128
超漂亮的js日历控件,代码有些复杂。 [code] 超漂亮的JS日历控件 <script language="javascript"> // cody by [STAR].sjz 2003-10-31 // 说明:返回值为 一个字符串 // 格式如下: // 使用方法: // var dataString = showModalDialog("calendar.htm", "dd日mm月yyyy年", "dialogWidth:286px;dialogHeight:221px;status:no;help:no;"); var userFormatString; if(window.dialogArguments ==null) { userFormatString = "yyyy-mm--dd"; } else { userFormatString = window.dialogArguments; } with(new Date()){ var Nyear = getYear(); var Nmonth = getMonth() +1; var Ndate = getDate(); } window.returnValue = new dataObj(Nyear,Nmonth,Ndate ).getDateString(userFormatString); window.document.onclick = function(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { try{ window.currentActiveItem.runtimeStyle.cssText = ""; } catch(e){ } Nyear = obj.id.split("-")[0]; Nmonth = obj.id.split("-")[1]; Ndate = obj.id.split("-")[2]; window.currentActiveItem = obj; window.currentSelectDate = window.currentActiveItem.id; window.currentActiveItem.runtimeStyle.cssText = "background:url(http://www.zzsky.cn/effect/images/201002270930.gif) no-repeat 14px 6px;color:#000;padding-top:1px;font-weight:bold"; } } function dataObj(year,month,date) { this.year = year this.month = month this.date = date this.getDateString = function(formatString) { return formatString.replace(/yyyy/ig , this.year).replace(/mm/ig , this.month).replace(/dd/ig , this.date) } } window.onload = function(){ window.document.attachEvent("onclick" , doCmd); window.document.attachEvent("onmouseover" , buttonOver); window.document.attachEvent("onmouseout" , buttonOut); window.document.attachEvent("onmousedown" , buttonDown); window.document.attachEvent("onmouseup" , buttonUp); window.document.attachEvent("ondblclick" , function() { var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] ); window.returnValue = mydate.getDateString(userFormatString) window.close(); } } ); document.all.titleYear.innerHTML=TranYearMonthTitle(Nyear,Nmonth); document.all.weekNameBox.insertAdjacentHTML("afterBegin",makeWeekNameHtmlStr()); document.all.calendarBox.innerHTML=makeCalendarHtmlStr(Nyear,Nmonth); window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate); window.document.all.calendarBox.show = show; window.currentActiveItem = window.document.getElementById(currentSelectDate); if( window.currentActiveItem ) window.currentActiveItem.click(); window.document.all.calendarBox.show(); } function starCalendar(year,month){ this.year = year; this.month = month; this.monthTable = function(){ var aMonth=new Array(); for(i=1;i<7;i++)aMonth[i]=new Array(i); var dCalDate=new Date(this.year, this.month-1, 1); var iDayOfFirst=dCalDate.getDay(); var iDaysInMonth=new Date(this.year, this.month, 0).getDate(); var iOffsetLast=new Date(this.year, this.month-1, 0).getDate()-iDayOfFirst+1; var iDate = 1; var iNext = 1; for (d = 0; d < 7; d++) aMonth[1][d] = (d"+weekName[i]+""; return tmpStr; } function makeCalendarHtmlStr(year,month){ window.theCalendar = new starCalendar(year,month); var theCaArr = theCalendar.monthTable(); var theDaysInMonth = new Date(year, month, 0).getDate(); var theCaHtml = "
"; for(var i=1;i<7;i++) for(var j=0;j<7;j++) theCaHtml = theCaHtml+""+starCaTran(year,month,theCaArr[i][j]).split("-")[2]+""; return theCaHtml+"
"; } function starCaTran(year,month,date){ with(new Date(year,month-1,date)) return getYear() + "-" +(getMonth()+1) + "-" + getDate(); } function TranYearMonthTitle(year,month){ with(new Date(year,month-1,1)) return "" + getYear() + "" + "年" + "" + (getMonth()+1) + "" + "月" ; } function showC(){ if(event.propertyName != "innerHTML")return; window.theCalendar.year = new Number(document.all.titleYear.getElementsByTagName("span")[0].innerHTML); window.theCalendar.month = new Number(document.all.titleYear.getElementsByTagName("span")[1].innerHTML); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month); window.document.all.calendarBox.show = show;window.document.all.calendarBox.show(); } function showMore(starNum,endNum,selectedValue){ var obj = window.event.srcElement; var selectedIndex = selectedValue - starNum; if(obj.selectBox){ obj.selectBox.selectedIndex = selectedIndex; return obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight ); } var selectBox = window.document.createElement("div"); selectBox.className = "selectBox"; selectBox.style.height = 0; selectBox.style.top = window.event.clientY - window.event.offsetY + window.event.srcElement.offsetHeight; selectBox.style.left = window.event.clientX - window.event.offsetX ; selectBox.show = showBox; selectBox.selectedIndex = selectedIndex; selectBox.onclick = function(){ var selectedObj = window.event.srcElement; if( "nobr" == selectedObj.tagName.toLowerCase() && selectBox.contains(selectedObj)) { if(obj.innerHTML != selectedObj.innerHTML)obj.innerHTML = selectedObj.innerHTML; } } selectBox.onlosecapture = alert var iString = ""; for(var i=starNum;i<=endNum;i++){ iString += ""+i+"
" } selectBox.insertAdjacentHTML ("afterBegin",iString); window.document.body.appendChild(selectBox); obj.selectBox = selectBox; obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight ); } function showBox(iHeight) { var box = this; box.style.height =1; box.style.display = "block"; window.clearInterval(box.timeHandle); box.timeHandle = window.setInterval(interValHandle,1); var s = 0,t =1 ; function interValHandle() { box.scrollTop=1000000; s = s + t*t; t += 0.5; box.style.height = parseInt(box.style.height) + Math.floor(s); box.style.width = 65 / iHeight * box.offsetHeight; if( box.offsetHeight > iHeight ) { window.clearInterval(box.timeHandle); box.style.height = iHeight; box.scrollTop = box.childNodes[0].offsetHeight*box.selectedIndex; box.getElementsByTagName("nobr")[box.selectedIndex].style.cssText='background-color:#00006C;color:#fff;'; window.document.attachEvent("onclick", box.hide=function() { box.style.display = "none"; window.document.detachEvent("onclick",box.hide) } ); } } } </script> <script language="javascript"> function buttonOver(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.runtimeStyle.cssText="border-color:#fff #606060 #808080 #fff;padding:3 0 0 0 "; } if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { obj.style.backgroundColor = "#fff"; } } function buttonOut(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.runtimeStyle.cssText = ""; } if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { window.setTimeout(function(){obj.style.backgroundColor = ""; },300); } } function buttonDown(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.setCapture(); obj.runtimeStyle.borderColor="#808080 #fefefe #fefefe #808080"; } } function buttonUp(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.releaseCapture(); obj.runtimeStyle.cssText =""; } } function doCmd(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { switch(obj.getAttribute("cmd")) { case "py": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year-1,window.theCalendar.month); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year-1,window.theCalendar.month); break; case "pm": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month-1); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month-1); break; case "nm": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month+1); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month+1); break; case "ny": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year+1,window.theCalendar.month); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year+1,window.theCalendar.month); break; } window.document.all.calendarBox.show(); window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate); window.currentActiveItem = window.document.getElementById(currentSelectDate); if( window.currentActiveItem )window.currentActiveItem.runtimeStyle.cssText = "background:url(choiceit.gif) no-repeat 14px 6px;color:#000;padding-top:1px;font-weight:bold"; } } function show() { var box = this; window.clearTimeout(box.timeHandle); var CdateBoxs = this.getElementsByTagName("span"); for(var i=0;i
333444
[/code]

该文章在 2010/4/30 14:49:08 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-1  粤公网安备44030602007207号