Gond van a naptárral!
hali mindenki!
Írtam egy naptárat, ami csak az aktuális hónapot írja ki. A problémám az vele hogy csak a hétfővel, keddel és szerdával kezdődő hónapokat írja ki rendesen ahogy neki kell a többinél meg azt csinálja mint a szerdainál.:P
Szerintem már nagyon kicsi hiányzik a sikerhez, de nem tudok rájönni.Nézzétek át nekem légyszi!
■ Írtam egy naptárat, ami csak az aktuális hónapot írja ki. A problémám az vele hogy csak a hétfővel, keddel és szerdával kezdődő hónapokat írja ki rendesen ahogy neki kell a többinél meg azt csinálja mint a szerdainál.:P
Szerintem már nagyon kicsi hiányzik a sikerhez, de nem tudok rájönni.Nézzétek át nekem légyszi!
function naptar(){
var most=new Date();
var honap=most.getMonth();
var datum=most.getDate();
var nap=most.getDay();
if ((honap % 2 == 0)){
hanynapos=31;
}
else{
if (honap !=1){
hanynapos=30;
}
else{
hanynapos=29;
}
}
naptarkeszito(honap,datum,3,hanynapos);
}
function naptarkeszito(melyikhonap,melyikdatum,nap,hanynapos){
switch (melyikhonap){
case 0: melyikhonap="Január"; break;
case 1: melyikhonap="Február"; break;
case 2: melyikhonap="Március"; break;
case 3: melyikhonap="Április"; break;
case 4: melyikhonap="Május"; break;
case 5: melyikhonap="Június"; break;
case 6: melyikhonap="Július"; break;
case 7: melyikhonap="Augusztus"; break;
case 8: melyikhonap="Szeptember"; break;
case 9: melyikhonap="Október"; break;
case 10: melyikhonap="November"; break;
case 11: melyikhonap="December"; break;
default : break;
}
var body=document.getElementsByTagName('BODY')[0];
var naptar=document.createElement('TABLE');
naptar.setAttribute('border','1');
var tr=document.createElement('TR');
for (var i=1; i<= 7; i++){
var td=document.createElement('TD');
td.innerHTML=milyennap(i);
tr.appendChild(td);
}
naptar.appendChild(tr);
datum=1;
elsosor=true;
for (var sor=1; sor<=6; sor++){
var tr=document.createElement('TR');
for (var i=1; i<=7; i++){
var td=document.createElement('TD');
if ((i < nap) || (datum > hanynapos) ){
td.innerHTML=' ';
if (elsosor == false){
nap=1;
}
elsosor=false;
}
else{
td.innerHTML=datum;
nap=1;
datum++;
elsosor=false;
}
tr.appendChild(td);
}
naptar.appendChild(tr);
}
body.appendChild(naptar);
}
function milyennap(melyiknap){
switch (melyiknap){
case 1: return melyiknap="Hé ";break;
case 2: return melyiknap="Ke ";break;
case 3: return melyiknap="Sze";break;
case 4: return melyiknap="Csü"; break;
case 5: return melyiknap="Pé ";break;
case 6: return melyiknap="Szo";break;
case 7: return melyiknap="Va ";break;
default : break;
}
}
Elősszöris, ez így nem lesz
Nekem minden ami az elsosor-ral kapcsolatos feleslegesnek tűnik, ha azzal nem csinál semmit, akkor jól mutatja a hónapok többségét, persze ha a naptarkeszito függvény nap paraméterébe nem 3-at küldesz, hanem a napot.
A nap helyére csak azért
A hónapokat meg még nem állítottam be rendesen tudom. XD
Igen, gondoltam hogy csak a
Viszont a 3-nál nagyobb számokkal kapcsolatos problémádra írtam megoldást: "minden ami az elsosor-ral kapcsolatos feleslegesnek tűnik", valóban nem írtam túl érthetően, de arra gondoltam, hogy vegyél ki mindent, aminek köze van az elsosor nevű változóhoz.
Figyeld meg a következő kódot (ami nem fontos azt kihagyom belőle):
i==2 esetén szintén jó az üres hely, viszont a nap értéke 1-re változik a ha függvény miatt.
i==3 esetén viszont már nem lesz kisebb az i értéke a napnál, tehát nem teszi ki az üres helyet, vagyis itt a hiba.
Igazából én nem jöttem rá hogy miért kell ez az elsosor változó, ha figyelmetlen vagyok és mégis van értelme, akkor bocs, de nekem tökéletesen működött úgy, hogy kivettem azt a 3-4 sort, csak a hónapok hossza okozott némi zavart.
Köszi szépen!
Köszi tényleg:D
Nincs mit :)