生日提醒功能JS代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生日提醒功能JS代码
作者:陈安厚朴教育来源:本站原创点击数:2599更新时间:2010-5-21
做完班级网站之后,觉得有必要把过程中一些可以分享的东西写上来。
首先是同学们倍感温馨的生日提示,下面的代码是经过我修改后的,具体效果请看理化检验的班级网站http://ch.sysu.edu.c n/hop e/sit es/2008yh/。
关于生日提醒的代码在网上有不少,大家可以找找看。
生日提醒的功能由J S实现。
在js里放上如下代码:
fu nctio n bir thday(year,mont h,dat e,per son){
thi s.yea r=yea r
thi s.mon th=mo nth
t his.d ate=d ate
t his.p erson=pers on
}
func tionbirth dayli st(){
}
b list=new b irthd aylis t()
b list[0]= n ew bi rthda y(年,月,日,"姓名1")
blist[1]=new b irthd ay(1989,5,15,"姓名2")
\*自己增加*\
var n ow=ne w Dat e()
t oday=new D ate(n ow.ge tYear(),no w.get Month(),no w.get Date()) // toda y 0:00:00
funct ion d aysFr omTod ay(sD ate){
ret urn M ath.r ound((sDat e.get Time()-tod ay.ge tTime())/(24*60*60*1000))
}
f uncti on wr iteNe xtBir thday(list) {
v ar na me1="",nam e2="",name3="",name4="",n ame5="",na me6="",nam e7="",n=0
for (var i in l ist){
thi sDate=newDate(today.getY ear(),list[i].m onth-1,lis t[i].date)
if (daysF romTo day(t hisDa te)<0)
thi sDate.setY ear(t oday.getYe ar()+1)
if (day sFrom Today(this Date)==0)
{n=n+1
doc ument.writ e("<f ont c olor=##000000 s tyle='font-size:11pt;font-fami ly: 宋体;lin e-
hei ght:1.5'>",
"<img s rc='I mages/bir_0.jpg'> 今天是"+li st[i].pers on+"的生日!<P>")}
}
fo r (va r i i n lis t) {
thisD ate=n ew Da te(to day.g etYea r(),l ist[i].mon th-1,list[i].da te)
i f (da ysFro mToda y(thi sDate)<0)
thisD ate.s etYea r(tod ay.ge tYear()+1)
if (daysF romTo day(t hisDa te)==1&&n<4)
{n=n+1
docum ent.w rite("<fon t col or=##000000 sty le='f ont-s ize:11pt;f ont-f amily: 宋体;line-heigh t:1.5'> ","<img src='Imag es/bi r_1.j pg'>"+lis t[i].perso n+",将于明天生日<P>")} }
for(vari inlist) {
th isDat e=new Date(toda y.get Year(),lis t[i].month-1,li st[i].date)
if(days FromT oday(thisD ate)<0)
th isDat e.set Year(today.getY ear()+1)
i f (da ysFro mToda y(thi sDate)==2&&n<4)
{n=n+1
do cumen t.wri te("<fontcolor=##000000style='fon t-siz e:11p t;fon t-fam ily:宋体;li ne-
he ight:1.5'> ","<img s rc='I mages/bir_2.jpg'> "+list[i].pe rson+",将
于"+days FromT oday(thisD ate)+"天后生日<P>")}
}
for (var i in l ist){
thi sDate=newDate(today.getY ear(),list[i].m onth-1,lis t[i].date)
if (daysF romTo day(t hisDa te)<0)
thi sDate.setY ear(t oday.getYe ar()+1)
if (day sFrom Today(this Date)==3&&n<4)
{n=n+1
doc ument.writ e("<f ont c olor=##000000 s tyle='font-size:11pt;font-fami ly: 宋体;lin e-hei ght:1.5'>","<i mg sr c='Im ages/bir_2.jpg'> "+l ist[i].per son+",将于
"+daysF romTo day(t hisDa te)+"天后生日<P>")}
}
f or (v ar iin li st) {
this Date=new D ate(t oday.getYe ar(),list[i].mo nth-1,list[i].d ate)
if (d aysFr omTod ay(th isDat e)<0)
this Date.setYe ar(to day.g etYea r()+1)
if(days FromT oday(thisD ate)==4&&n<4)
{n=n+1
docu ment.write("<fo nt co lor=##000000 st yle='font-size:11pt;font-famil y: 宋体;line-heig ht:1.5'> ","<im g src='Ima ges/b ir_2.jpg'> "+li st[i].pers on+",将于
"+d aysFr omTod ay(th isDat e)+"天后生日。
<P>")}
}
f or (v ar iin li st) {
this Date=new D ate(t oday.getYe ar(),list[i].mo nth-1,list[i].d ate)
if (d aysFr omTod ay(th isDat e)<0)
this Date.setYe ar(to day.g etYea r()+1)
if(days FromT oday(thisD ate)==5&&n<4)
{n=n+1
docu ment.write("<fo nt co lor=##000000 st yle='font-size:11pt;font-famil y: 宋体;line-
heig ht:1.5'> ","<im g src='Ima ges/b ir_2.jpg'> "+li st[i].pers on+",将于
"+d aysFr omTod ay(th isDat e)+"天后生日<P>")}
}
fo r (va r i i n lis t) {
thisD ate=n ew Da te(to day.g etYea r(),l ist[i].mon th-1,list[i].da te)
i f (da ysFro mToda y(thi sDate)<0)
thisD ate.s etYea r(tod ay.ge tYear()+1)
if (daysF romTo day(t hisDa te)==6&&n<4)
{n=n+1
docum ent.w rite("<fon t col or=##000000 sty le='f ont-s ize:11pt;f ont-f amily: 宋体;line-heigh t:1.5'> ","<img src='Imag es/bi r_2.j pg'>"+lis t[i].perso n+",将于
"+da ysFro mToda y(thi sDate)+"天后生日<P>")}
}
for (var i in list) {
t hisDa te=ne w Dat e(tod ay.ge tYear(),li st[i].mont h-1,l ist[i].dat e)
if (day sFrom Today(this Date)<0)
t hisDa te.se tYear(toda y.get Year()+1)
if (d aysFr omTod ay(th isDat e)==7&&n<4)
{n=n+1
d ocume nt.wr ite("<font colo r=##000000 styl e='fo nt-si ze:11pt;fo nt-fa mily:宋体;l ine-
h eight:1.5'> ","<imgsrc='Image s/bir_2.jp g'> "+list[i].p erson+",将于
"+day sFrom Today(this Date)+"天后生日<P>")}
}
\*这里设置的是按离生日近到远的顺序,显示7天内生日的好友,最多显示4条。
具体需要自己改.img那行是字前面的小图标,自己做*\
}
在bo dy里,你需要的地方加上如下代码(当然这是tabl e的,还有位置等问题,大家自己换代码吧):
<t r>
<t d vAl ign=c enter><SCR IPT L ANGUA GE="J avaSc ript">
<!--
wri teNex tBirt hday(blist)
//-->
</SCRI PT> <SCRIP T LAN GUAGE="Jav aScri pt">
<!-- hide
func tiongoHis t(a){
hist ory.g o(a);
}
//-->
</scri pt></td>
</tr>
。