如何设置getDate()取出来的当日日期的颜色?(在线等,急)

darkhrt 2008-09-10 02:10:47
用JSP做了一个日历
取得当前日期的代码是 Date.prototype.getTheDate=function(){
return {Y:this.getFullYear(),M:this.getMonth()+1,D:this.getDate()};
}
可是不知道如何设置getDate()取出来的当日日期的颜色?也就是在日历上当日的日期用不同的颜色标记出来?
...全文
153 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
p.innerHTML=" <a href='javascript:"+this.calendarName+".fillDate(\""+M+"-"+d+"\");void(0);'>"+d+" </a>";

你的是不是这部分输出到页面的啊?
是的话就在这里做下判断
jhwcd 2008-09-10
  • 打赏
  • 举报
回复
看看先。。。
darkhrt 2008-09-10
  • 打赏
  • 举报
回复
能不能说的详细点?
xiaojing7 2008-09-10
  • 打赏
  • 举报
回复
从你日期构建函数中分析,获得
darkhrt 2008-09-10
  • 打赏
  • 举报
回复
<body>
<script type="text/javascript">

/*****************
*为Date对象添加定制的方法
******************/
//获取当前时间

Date.prototype.getTheDate=function(){
return {Y:this.getFullYear(),M:this.getMonth()+1,D:this.getDate()};
}

Date.prototype.beforeTheDate=function(Y,M,D){
if(Y<this.getFullYear()||(Y==this.getFullYear()&&M<this.getMonth()+1)||(Y==this.getFullYear()&&M==this.getMonth()+1&&D<this.getDate()))
{
return true;
}
else
{
return false;
}
}


Date.prototype.afterTheDate=function(Y,M,D){
if(Y>this.getFullYear()||(Y==this.getFullYear()&&M>this.getMonth()+1)||(Y==this.getFullYear()&&M==this.getMonth()+1&&D>this.getDate()))
{
return true;
}
else
{
return false;
}
}


Date.prototype.getThePreDate=function(dateObj,minYear){
var M=dateObj.M;
var Y=dateObj.Y;
var D=dateObj.D;
M--;
if(M<1)
{
M=12;
Y--;
}
if(Y<minYear)
{
Y=minYear;
}
return "{Y:"+Y+",M:"+M+",D:"+D+"}";
}


Date.prototype.getThePreYear=function(dateObj,minYear,maxYear){
var M=dateObj.M;
var Y=dateObj.Y;
var D=dateObj.D;
Y--;
if(Y<minYear)
{
Y=minYear;
}
return "{Y:"+Y+",M:"+M+",D:"+D+"}";
}


Date.prototype.getTheNextYear=function(dateObj,minYear,maxYear){
var M=dateObj.M;
var Y=dateObj.Y;
var D=dateObj.D;
Y++;
if(Y>maxYear)
{
Y=maxYear;
}
return "{Y:"+Y+",M:"+M+",D:"+D+"}";
}


Date.prototype.getTheNextDate=function(dateObj,maxYear){
var M=dateObj.M;
var Y=dateObj.Y;
var D=dateObj.D;
M++;
if(M>12)
{
M=1;
Y++;
}
if(Y>maxYear)
{
Y=maxYear;
}
return "{Y:"+Y+",M:"+M+",D:"+D+"}";
}


/*****************
*日历的构造函数
******************/
function MarcianCalendar(calendarObjName,display,minYear,maxYear,afterNotUsed,beforeNotUsed)
{
/*********************************************
*参数说明
*calendarObjName:创建的日历对象实例名,必须
*display:显示日历 true为显示,false为不显示.可选,默认为不显示
*minYear:最小年份,可选,默认为1900
*maxYear:最打年份,可选,默认为2900
*afterNotUsed:大于当前时间的日期不可用,可选,默认为false;
*beforeNotUsed:小于当前日期的时间不可用,可选,默认为false;
**********************************************/

/*属性*/
this.calendarName=calendarObjName;//创建的日历对象实例名
this.display=display?"block":"none";//
this.minYear=minYear?minYear:1900;//
this.maxYear=maxYear?maxYear:2900;//
this.afterNotUsed=afterNotUsed?afterNotUsed:false;
this.beforeNotUsed=beforeNotUsed?beforeNotUsed:false;
this.calendarContainer=null;//日历容器
this.calendarMenuContainer=null;//日历菜单容器
this.calendarDateContainer=null;//日历日期容器
this.calendarWeekContainer=null;//日历星期容器
this.calendarCloseContainer=null;//关闭菜单容器
this.weekAry=["月","火","水","木","金","土","日"];//星期数组
this.date=new Date();//日期对象
this.moveObjAry=new Array();//移动对象数组
this.fillObjAry=new Array();//填充对象数组
this.id=0;//当前ID号
//this.todayColor="#FF0000";

//填充日期
this.fillDate=function(dateStr){
var fillObj=this.$(this.fillObjAry[this.id]);

if(fillObj.type=="text")
{
var dateSplit = dateStr.split("-");
//alert(fillObj.id);
fillObj.value=dateSplit[0];
//alert(fillObj.id);
document.getElementById(fillObj.id+"_1").value=dateSplit[1];

}
if(this.id<this.fillObjAry.length-1)
{
this.id++;
//this.moveCalendar(this.id);
}
else
{
this.calendarContainer.style.cssText=this.calendarContainer.getAttribute("css")+"display:none;";
}
}

//获取页面元素的快捷方式
this.$=function(id)
{
return document.getElementById(id);
}

//显示日历的外部调用方法
this.showCalendar=function(showIDAry,fillIDAry){
/******************************
*参数说明
*showIDAry:点击显示日历的元素的ID数组
*fillIDAry:要填充日期数据的元素的ID数组
******************************/
this.moveObjAry=showIDAry;
this.fillObjAry=fillIDAry;
this.moveCalendar(0);
}

/*设置日历时间*/
this.setDate=function(dateObj){
if(this.calendarDateContainer.childNodes)
{
for(var j=this.calendarDateContainer.childNodes.length-1;j>=0;j--)
{
this.calendarDateContainer.removeChild(this.calendarDateContainer.childNodes[j]);
}
}
var W=1;
var Y=dateObj.Y;
var M=dateObj.M;
var D=dateObj.D;
var dayAry=[31,28,31,30,31,30,31,31,30,31,30,31];
var r=[0,3,3,6,1,4,6,2,5,0,3,5];
var c=6;
if(Y%400==0||(Y%4==0&&Y%100!=0))
{
dayAry[1]=29;
}
if((Y%400==0||(Y%4==0&&Y%100!=0))&&M<3)
{
c=5;
}
var y=Y%400;
w=(y+Math.floor(y/4)-Math.floor(y/100)+r[M-1]+1+c)%7;
//alert(w);
var R=1;
R=(dayAry[M-1]-7+w)%7==0?R+(dayAry[M-1]-7+w)/7:R+Math.floor((dayAry[M-1]-7+w)/7)+1;
var start=0;
var d=1;
for(var i=0;i<R;i++)
{
var div=document.createElement("div");
div.style.cssText="width:210px;height:23px;margin-bottom:2px;"
for(var k=0;k<7;k++)
{
var p=document.createElement("p");
p.style.cssText="width:30px;height:20px;float:left;text-align:center;padding-top:3px;margin:0px;color:#ccc;";
if(start>=w&&d<=dayAry[M-1])
{
if(this.afterNotUsed&&this.date.afterTheDate(Y,M,d))
{
p.innerHTML=d;
}
else if(this.afterNotUsed&&this.date.afterTheDate(Y,M,d))
{
p.innerHTML=d;
}
else
{
p.innerHTML="<a href='javascript:"+this.calendarName+".fillDate(\""+M+"-"+d+"\");void(0);'>"+d+"</a>";
}
d++;
}
start>w?start=w:start++;
div.appendChild(p);
}
this.calendarDateContainer.appendChild(div);
}
}

这是我日历的部分代码。。。。大侠请过目
  • 打赏
  • 举报
回复
你显示到页面中的代码是???

一般都在那里做手脚,比如:
<SCRIPT language='javascript'>
var welcomestring;
var D=new Date();
var yy=D.getYear();
var mm=D.getMonth()+1;
var dd=D.getDate();
var myhour=D.getHours();
if(myhour<6)
welcomestring="凌晨好";
else if(myhour<9)
welcomestring="早上好";
else if(myhour<12)
welcomestring="上午好";
else if(myhour<14)
welcomestring="中午好";
else if(myhour<17)
welcomestring="下午好";
else if(myhour<19)
welcomestring="傍晚好";
else if(myhour<22)
welcomestring="晚上好";
else
welcomestring="夜里好";

bsDate=yy+"年"+mm+"月"+dd+"日";
document.write("今天是<font color=red>"+bsDate+"</font>")
</SCRIPT>


  • 打赏
  • 举报
回复
在页面输出日期的时候判断一下 是当日就另外加一个color属性

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧