Ho due script per il compleanno, ma uno funziona e l'altro no, il motivo è perchè ho cancellato una funzione che non mi serviva che praticamente legge gli anni! Non mi spiego perchè tale script non funziona, visto che si tratta soltanto di una lettura della funzione!
SCRIPT NON FUNZIONANTE (la funzione tolta è posta alla fine nell z==0 e z==1 e che leggeva quanti anni ha chi compie il compleanno!)
codice:
<script>
function birthday(year,month,date,person){this.year=year;this.month=month-1;this.date=date;this.person=person}
function birthdaylist() {} blist=new birthdaylist()
preavviso=7
blist[0]=new birthday(1975,7,7,"Igreo")
blist[1]=new birthday(1973,7,14,"Mocho_Sound")
var now=new Date();
today=new Date(now.getYear(),now.getMonth(),now.getDate());
function daysFromToday(sdate){return Math.round((sdate.getTime()-today.getTime())/(24*60*60*1000))}
function writeNextBirthday(list){var z=888;
for (var i in list){thisDate=new Date(today.getYear(),list[i].month,list[i].date);
if(daysFromToday(thisDate)<0)thisDate.setYear(today.getYear()+1);z=daysFromToday(thisDate)
if(z==0)document.write("<font size="6">Oggi "+list[i].person+" compie gli anni. AUGURI!</font size>
")
else if(z==1)document.write("<font size="6">Domani "+list[i].person+" compirà gli anni!</font size>
")
else if(z<=preavviso)document.write("<font size="6">Il prossimo compleanno sarà di "+list[i].person+" tra "+z+" giorni.</font size>
")
}}</script>
<script>if(navigator.appName!="Netscape")writeNextBirthday(blist)</script>
SCRIPT FUNZIONANTE
codice:
<script>function birthday(year,month,date,person){this.year=year;this.month=month-1;this.date=date;this.person=person}
function birthdaylist() {} blist=new birthdaylist()
preavviso=7
blist[0]=new birthday(1980,7,7,"NOME UTENTE 0")
blist[1]=new birthday(1981,7,14,"NOME UTENTE 1")
blist[2]=new birthday(1982,4,2,"NOME UTENTE 2")
var now=new Date();
today=new Date(now.getYear(),now.getMonth(),now.getDate());
function daysFromToday(sdate){return Math.round((sdate.getTime()-today.getTime())/(24*60*60*1000))}
function writeNextBirthday(list){var z=888;
for (var i in list){thisDate=new Date(today.getYear(),list[i].month,list[i].date);
if(daysFromToday(thisDate)<0)thisDate.setYear(today.getYear()+1);z=daysFromToday(thisDate)
if(z==0)document.write("Oggi "+list[i].person+" compie "+(today.getYear()-list[i].year)+" anni. AUGURI!
")
else if(z==1)document.write("Domani "+list[i].person+" compirà "+(today.getYear()-list[i].year)+" anni!
")
else if(z<=preavviso)document.write("Il prossimo compleanno sarà di "+list[i].person+" tra "+z+" giorni.
")
}}</script>
<font color="#000000" size="2" face="Verdana"><script>if(navigator.appName!="Netscape")writeNextBirthday(blist)</script></font>
Vi ringrazio anticipatamente!