我这要求 选择一个日期后,这个日期之前的都不能选并且置为灰色。这个日期不是当天日期 是你选择之后的日期。
function meizzSetDay(yy,mm) //主要的写程序**********
{
meizzWriteHead(yy,mm);
//设置当前年月的公共变量为传入值
meizzTheYear=yy;
meizzTheMonth=mm; for (var i = 0; i < 37; i++){meizzWDay[i]=""}; //将显示框的内容全部清空
var day1 = 1,day2=1,firstday = new Date(yy,mm-1,1).getDay(); //某月第一天的星期几
for (i=0;i<firstday;i++)meizzWDay[i]=GetMonthCount(mm==1?yy-1:yy,mm==1?12:mm-1)-firstday+i+1 //上个月的最后几天
for (i = firstday; day1 < GetMonthCount(yy,mm)+1; i++) { meizzWDay[i]=day1;day1++; }
for (i=firstday+GetMonthCount(yy,mm);i<37;i++) { meizzWDay[i]=day2;day2++; }
for (i = 0; i < 37; i++)
{
var da = eval("odatelayer.meizzDay"+i) //书写新的一个月的日期星期排列
if (meizzWDay[i]!="")
{
//初始化边框 da.borderColorLight="#63A3E9";
da.borderColorDark="#63A3E9";
da.style.color="#1478eb";
if(i<firstday) //上个月的部分
{
da.innerHTML="<b><font color=#BCBABC>" + meizzWDay[i] + "</font></b>";
da.title=(mm==1?12:mm-1) +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
if(!outDate)
da.style.backgroundColor = ((mm==1?yy-1:yy) == new Date().getFullYear() &&
(mm==1?12:mm-1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())? "#84C1FF" :
(((mm==1?yy-1:yy) == new Date().getFullYear() && (mm==1?12:mm-1) == new Date().getMonth()+1 &&
meizzWDay[i] == new Date().getDate()) ? "#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
else if (i>=firstday+GetMonthCount(yy,mm)) //下个月的部分
{
da.innerHTML="<b><font color=#BCBABC>" + meizzWDay[i] + "</font></b>";
da.title=(mm==12?1:mm+1) +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
if(!outDate)
da.style.backgroundColor = ((mm==12?yy+1:yy) == new Date().getFullYear() &&
(mm==12?1:mm+1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())? "#84C1FF" :
(((mm==12?yy+1:yy) == new Date().getFullYear() && (mm==12?1:mm+1) == new Date().getMonth()+1 &&
meizzWDay[i] == new Date().getDate()) ? "#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
else //本月的部分
{
da.innerHTML="<b>" + meizzWDay[i] + "</b>";
da.title=mm +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
//如果是当前选择的日期,则显示亮蓝色的背景;如果是当前日期,则显示暗黄色背景
if(!outDate)
da.style.backgroundColor = (yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate())?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())?
"#84C1FF":((yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate())?
"#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
da.style.cursor="hand"
}
else { da.innerHTML="";da.style.backgroundColor="";da.style.cursor="default"; }
}
}function meizzDayClick(n,ex) //点击显示框选取日期,主输入函数*************
{
parent.meizzTheDate=n;
var yy=meizzTheYear;
var mm = parseInt(meizzTheMonth)+ex; //ex表示偏移量,用于选择上个月份和下个月份的日期
var hh=meizzTheHour;
var mi=meizzTheMinute;
var se=meizzTheSecond;
//判断月份,并进行对应的处理
if(mm<1){
yy--;
mm=12+mm;
}
else if(mm>12){
yy++;
mm=mm-12;
} if (mm < 10) {mm = "0" + mm;}
if (hh<10) {hh="0" + hh;} //时 if (mi<10) {mi="0" + mi;} //分 if (se<10) {se="0" + se;} //秒getClickTime=outObject.value; if (outObject)
{
if (!n) { //outObject.value="";
return;}
if ( n < 10){n = "0" + n;} WriteDateTo(yy,mm,n,hh,mi,se);
//在这判断getClickTime和outObject的值的大小。
var tmpEndTime = new Date(outObject.value.replace(/-/g, "/")); //时间转换
var tmpBeginTime;
if(getClickTime==""){
tmpBeginTime = 0;
}else{
tmpBeginTime = new Date(getClickTime.replace(/-/g, "/")); //时间转换
}
if ((tmpEndTime - tmpBeginTime) >= 0) {
flag=true;
} else {
flag=false;
outObject.value=getClickTime;
} closeLayer();
if (bUseTime)
{
try
{
outButton.click();
}
catch (e)
{
setday(outObject);
}
}
}
else {closeLayer(); alert("您所要输出的控件对象并不存在!");}
closeLayer();
}两个主要的函数。。 如果能帮忙可以QQ联系我 317709757 等。。
function meizzSetDay(yy,mm) //主要的写程序**********
{
meizzWriteHead(yy,mm);
//设置当前年月的公共变量为传入值
meizzTheYear=yy;
meizzTheMonth=mm; for (var i = 0; i < 37; i++){meizzWDay[i]=""}; //将显示框的内容全部清空
var day1 = 1,day2=1,firstday = new Date(yy,mm-1,1).getDay(); //某月第一天的星期几
for (i=0;i<firstday;i++)meizzWDay[i]=GetMonthCount(mm==1?yy-1:yy,mm==1?12:mm-1)-firstday+i+1 //上个月的最后几天
for (i = firstday; day1 < GetMonthCount(yy,mm)+1; i++) { meizzWDay[i]=day1;day1++; }
for (i=firstday+GetMonthCount(yy,mm);i<37;i++) { meizzWDay[i]=day2;day2++; }
for (i = 0; i < 37; i++)
{
var da = eval("odatelayer.meizzDay"+i) //书写新的一个月的日期星期排列
if (meizzWDay[i]!="")
{
//初始化边框 da.borderColorLight="#63A3E9";
da.borderColorDark="#63A3E9";
da.style.color="#1478eb";
if(i<firstday) //上个月的部分
{
da.innerHTML="<b><font color=#BCBABC>" + meizzWDay[i] + "</font></b>";
da.title=(mm==1?12:mm-1) +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
if(!outDate)
da.style.backgroundColor = ((mm==1?yy-1:yy) == new Date().getFullYear() &&
(mm==1?12:mm-1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())? "#84C1FF" :
(((mm==1?yy-1:yy) == new Date().getFullYear() && (mm==1?12:mm-1) == new Date().getMonth()+1 &&
meizzWDay[i] == new Date().getDate()) ? "#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
else if (i>=firstday+GetMonthCount(yy,mm)) //下个月的部分
{
da.innerHTML="<b><font color=#BCBABC>" + meizzWDay[i] + "</font></b>";
da.title=(mm==12?1:mm+1) +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
if(!outDate)
da.style.backgroundColor = ((mm==12?yy+1:yy) == new Date().getFullYear() &&
(mm==12?1:mm+1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())? "#84C1FF" :
(((mm==12?yy+1:yy) == new Date().getFullYear() && (mm==12?1:mm+1) == new Date().getMonth()+1 &&
meizzWDay[i] == new Date().getDate()) ? "#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 &&
meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
else //本月的部分
{
da.innerHTML="<b>" + meizzWDay[i] + "</b>";
da.title=mm +"月" + meizzWDay[i] + "日";
if(flag){
da.onclick=Function("meizzDayClick(this.innerText,+0)");
} else {
da.onclick="";
flag=true;
}
//如果是当前选择的日期,则显示亮蓝色的背景;如果是当前日期,则显示暗黄色背景
if(!outDate)
da.style.backgroundColor = (yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate())?
"#5CEFA0":"#f5f5f5";
else
{
da.style.backgroundColor =(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())?
"#84C1FF":((yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate())?
"#5CEFA0":"#f5f5f5");
//将选中的日期显示为凹下去
if(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())
{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#63A3E9";
}
}
}
da.style.cursor="hand"
}
else { da.innerHTML="";da.style.backgroundColor="";da.style.cursor="default"; }
}
}function meizzDayClick(n,ex) //点击显示框选取日期,主输入函数*************
{
parent.meizzTheDate=n;
var yy=meizzTheYear;
var mm = parseInt(meizzTheMonth)+ex; //ex表示偏移量,用于选择上个月份和下个月份的日期
var hh=meizzTheHour;
var mi=meizzTheMinute;
var se=meizzTheSecond;
//判断月份,并进行对应的处理
if(mm<1){
yy--;
mm=12+mm;
}
else if(mm>12){
yy++;
mm=mm-12;
} if (mm < 10) {mm = "0" + mm;}
if (hh<10) {hh="0" + hh;} //时 if (mi<10) {mi="0" + mi;} //分 if (se<10) {se="0" + se;} //秒getClickTime=outObject.value; if (outObject)
{
if (!n) { //outObject.value="";
return;}
if ( n < 10){n = "0" + n;} WriteDateTo(yy,mm,n,hh,mi,se);
//在这判断getClickTime和outObject的值的大小。
var tmpEndTime = new Date(outObject.value.replace(/-/g, "/")); //时间转换
var tmpBeginTime;
if(getClickTime==""){
tmpBeginTime = 0;
}else{
tmpBeginTime = new Date(getClickTime.replace(/-/g, "/")); //时间转换
}
if ((tmpEndTime - tmpBeginTime) >= 0) {
flag=true;
} else {
flag=false;
outObject.value=getClickTime;
} closeLayer();
if (bUseTime)
{
try
{
outButton.click();
}
catch (e)
{
setday(outObject);
}
}
}
else {closeLayer(); alert("您所要输出的控件对象并不存在!");}
closeLayer();
}两个主要的函数。。 如果能帮忙可以QQ联系我 317709757 等。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货