最精致的日历式日期输入控件 (Smart Ver 1.00)[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 chenfei00 的 blog

      case 11 : allday += 30; break;
      case 12 :  allday += 31; break;
   }
  }
 }
return (allday+6)%7;
}
/*输入框显示*/
function inputvalue(inputbox,year,month,day)
{
  if (month<10)
  {
    month='0'+month
  }
  if (day<10)
  {
    day='0'+day
  }
  inputbox.value=year+"-"+month+"-"+day
}
//上一月
function forwardmonth(inputbox,year,month,day)
{
    month=month-1;
    if (month<1)
    {
        month=12;
        year=year-1;
        if (year<1800)
            year=2500;
    }
  day=((getthisdays(year,month)<day)?getthisdays(year,month):day)
  hid=false;
  showcalendar(inputbox,year,month,day)
}
//下一月
function nextmonth(inputbox,year,month,day)
{
    month=month+1;
    if (month>12)
    {
        month=1;
        year=year+1;
        if (year>2500)
            year=1800;
    }
  day=((getthisdays(year,month)<day)?getthisdays(year,month):day)
  hid=false;
  showcalendar(inputbox,year,month,day)
}
//上一年
function forwardyear(inputbox,year,month,day)
{
    year=year-1;
    if (year<1800)
        year=2500;
  day=((getthisdays(year,month)<day)?getthisdays(year,month):day)
  hid=false;
  showcalendar(inputbox,year,month,day)
}
//下一年
function nextyear(inputbox,year,month,day)
{
    year=year+1;
    if (year>2500)
        year=1800;
  day=((getthisdays(year,month)<day)?getthisdays(year,month):day)
  hid=false;
  showcalendar(inputbox,year,month,day)
}
/*其它事件显示日历*/
function opendate(where)
{
 getcalendar(where)
}
/*根据输入框中的日期显示日历*/
function getcalendar(where)
{
    hid=false;
    var box_name=where.name;
    var box_value=where.value;
    if (dateistrue(box_value))
    {
    lodate  = box_value.split("-");
    y= parsefloat(lodate[0]);
    m= parsefloat(lodate[1]);
    d= parsefloat(lodate[2]);
    showcalendar(where,y,m,d);
    }
  else
  {
    today= new date();
    y= today.getyear();
    m= (today.getmonth() + 1);
    d=today.getdate();
    showcalendar(where,y,m,d);
  }
}

/*隐藏日历*/
function hiddencalendar()
{
    document.all.calendar.style.display="none";
}
function closecalendar()
{
  if (hid)
    document.all.calendar.style.display="none";
  hid=true;
}
/*显示日历*/
function showcalendar(inputbox,the_year,the_month,the_day)
{
    var now_year=(the_year==null?2004:the_year);
    var now_month=(the_month==null?1:the_month);
    var now_day=(the_day==null?1:the_day);
    var box_name='window.parent.document.all.'+inputbox.name;
    var fw=getfirstweek(now_year,now_month);
    var ld=getlastdays(now_year,now_month);
    var td=getthisdays(now_year,now_month);
    var isnd=false;//是否是下个月的日期
    var d=1,w=1;
    var framecontent;
    var frl,frt,winw,winh;
/*显示的位置*/
winw=document.body.offsetwidth;
winh=document.body.offsetheight;
frl=inputbox.getboundingclientrect().left-2;
frt=inputbox.getboundingclientrect().top+inputbox.clientheight;
if (((frl+frw+frs)>winw)&&(frw+frs<winw))
  frl=winw-frw-frs;
if ((frt+frh+frs>winh)&&(frh+frs<winh))
  frt=winh-frh-frs;
document.all.calendar.style.display="";
document.all.calendar.style.left=frl;
document.all.calendar.style.top=frt;
//显示日历内容
framecontent="\n<table onselectstart=\"return false;\" border='0' cellpadding='0' cellspacing='0' bgcolor='#395592' width='100%' height='15' style=\"color:white;font-weight:bolder;border:0px solid\">"+"\n<tr>\n";

本文关键:日历
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top