Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Javascript kalendar problem
Author Message
stefendoza Offline
Redoviti posjetitelj
**

Posts: 81
Joined: Apr 2010
Reputation: 1
Post: #1
Javascript kalendar problem
Pozdrav, jeli zna neko sto mi se godine ne ispisuju kako treba? Recimo za trenutni datum ispise tacno datum, oznaci ga, na vrhu ispise mjesec i pored 111, ako promjenim godinu na racunaru pa stavim 2012. ispise mjesec i 112 , heheh ludilo. Evo skripte:

Code:
<!--
var dan_u_sedmici = new Array('Ned','Pon','Uto','Sri','Cet','Pet','Sub');
var mjesec_u_godini = new Array('Januar','Februar','Mart','April','Maj','Jun','Jul','Avgust','Septembar','​Oktobar','Novembar','Decembar');

var datum = new Date();
var godina = datum.getYear();    
var mjesec = datum.getMonth();    // (0-11)
var dan = datum.getDate();    // (1-31)
var sedmica = datum.getDay();    // (0-6)

var dana_u_sedmici = 7;
var dana_u_mjesecu = 31;
var cal;

datum.setDate(1);
datum.setMonth(mjesec);

// oblikovanje (BORDER,BGCOLOR,CELLPADDING,BORDERCOLOR)

var TR_start = '<TR>';
var TR_end = '</TR>';
var osvjetljeno_start = '<TD WIDTH="30"><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=FFFFFF><TR><TD WIDTH=20><B><CENTER>';
var osvjetljeno_end   = '</CENTER></TD></TR></TABLE></B>';
var TD_start = '<TD WIDTH="30"><CENTER>';
var TD_end = '</CENTER></TD>';

oblikuj =  '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR=FFFFFF><TR><TD>';
oblikuj += '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2>' + TR_start;
oblikuj += '<TD COLSPAN="' + dana_u_tjednu + '" BGCOLOR="#F8D0C2"><CENTER><FONT SIZE=2><B>';
oblikuj += mjesec_u_godini[mjesec]  + '   ' + godina + '.</FONT></B>' + TD_end + TR_end;
oblikuj += TR_start;

// ispis naziva dana u sedmici
for(index=0; index < dana_u_sedmici; index++){
    if(index == sedmica){
        // podebljaj tekuci dan
        if(index == 0){
            oblikuj += TD_start + '<FONT SIZE=2 COLOR=red><B>' + dan_u_sedmici[index] + '</B></FONT>' + TD_end;
        }else{
            oblikuj += TD_start + '<FONT SIZE=2 COLOR=blue><B>' + dan_u_sedmici[index] + '</B></FONT>' + TD_end;
        }
    }else if(index == 0){
        // oznaci nedjelje
        oblikuj += TD_start + '<FONT SIZE=2 COLOR=red>' + dan_u_sedmici[index] + '</FONT>' + TD_end;
    }else{
        // ispisi ostale dane
        oblikuj += TD_start + '<FONT SIZE=2 COLOR=blue>' + dan_u_sedmici[index] + '</FONT>' + TD_end;
  }
}

oblikuj += TD_end + TR_end;
oblikuj += TR_start;

// popuni prazna polja za dane
for(index=0; index < datum.getDay(); index++){
    oblikuj += TD_start + ' ' + TD_end;
}

// ispis svih dana u mjesecu
for(index=0; index < dana_u_mjesecu; index++){
    if( datum.getDate() > index ){
        // podatak o rbr dana u sedmici (0-6)
        sedmicni_dan =datum.getDay();

        // otvara novi red za prvi dan u tjednu
        if(sedmicni_dan == 0)
            oblikuj += TR_start;
        
        if(sedmicni_dan != dana_u_sedmici){
            var day  = datum.getDate();
            // ispis dana u mjesecu
            if( dan==datum.getDate() ){
                // naglasavanje tekuceg dana
                if( sedmicni_dan==0 ){
                    // naglasavanje tekuceg dana ako je nedjelja
                    oblikuj += osvjetljeno_start + '<FONT SIZE=2 COLOR=red>' + day + '</FONT>' + osvjetljeno_end + TD_end;
                }else{
                    // naglasavanje ostalih tekucih dana
                    oblikuj += osvjetljeno_start + '<FONT SIZE=2>' + day + '</FONT>' + osvjetljeno_end + TD_end;
                }
            }else if( sedmicni_dan==0 ){
                // ispis nedjelja
                oblikuj += TD_start + '<FONT SIZE=2 COLOR=red>' + day + '</FONT>' + TD_end;

          }else{
                // ispis ostalih dana
                oblikuj += TD_start + '<FONT SIZE=2>' + day + '</FONT>' + TD_end;
            }
        }

        // kraj reda za zadnji dan u tjednu
        if(sedmicni_dan == dana_u_sedmici)
            oblikuj += TR_end;
    }
    // povecanje sve do kraja mjeseca
    datum.setDate(datum.getDate()+1);
}

oblikuj += '</TD></TR></TABLE></TABLE>';
document.write(oblikuj);

//-->
08-12-2010 02:42 PM
Find all posts by this user Quote this message in a reply
schmrz Offline
____
*

Posts: 567
Joined: Feb 2007
Post: #2
RE: Javascript kalendar problem
Korištenje `getYear()` se ne koristi više i vjerovatno će se nekada i potpuno izbaciti. Koristi `getFullYear()`.

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
08-12-2010 11:17 PM
Find all posts by this user Quote this message in a reply
kecko Offline
Forumaš
***

Posts: 645
Joined: Nov 2009
Reputation: 20
Post: #3
RE: Javascript kalendar problem
Mogo si staviti gore i html i JS sve skupa, a ne da sad trebamo izmišljati html :)) Aj pukni sve gore pa ću pogledati, kratak sam s vremenom...
09-12-2010 08:43 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)