Klikací kalendár

Programovacie jazyky, rady, poradňa...
ryty
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 207
Registrovaný: 01 mar 2006, 17:50

Klikací kalendár

Príspevok od používateľa ryty »

potreboval by som pomoct spravit v Javascripte kalendar s odkazmi na kazdy den. odkaz by bol napriklad na 1_januar_2008.html.

Dalo by sa take nieco spravit?
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

dalo

Kód: Vybrať všetko

for(a=1;a<=31;a++) document.body.innerHTML+=" <a href=\""+a+"_januar_2008.html\">"+a+"</a>"; 
ryty
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 207
Registrovaný: 01 mar 2006, 17:50

Príspevok od používateľa ryty »

juho napísal:dalo

Kód: Vybrať všetko

for(a=1;a<=31;a++) document.body.innerHTML+=" <a href=""+a+"_januar_2008.html">"+a+"</a>"; 
mohol by si mi sem hodit cely script na kalendar bo neviem kde to mam zaradit?

//edit: ja by som chcel tak aby sa v tom kalendari dalo listovat a na kazdy den aby bol odkaz :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

free javascript calendar
to je všetko čo mi stačilo napísať do google aby som sa dostal ku kvalitnému, efektnému kalendáru. Fakt to niekedy skús. Ak chceš niečo amatérskejšie, tak nie je problém spraviť ale keď nevieš do stránky vložiť dva riadky čo ti dal juho tak radšej by som použil hotové riešenie. Nájdeš ho tu: http://www.softcomplex.com/products/tigra_calendar/
ryty
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 207
Registrovaný: 01 mar 2006, 17:50

Príspevok od používateľa ryty »

asi sme sa nepochopili :( tu som si podla predlohy spravil kalendar a potreboval by som aby dni boli odkazom na html dokument

Kód: Vybrať všetko

<script LANGUAGE="JavaScript">
<!-- 
function initArray()
{
  this.length=initArray.arguments.length;
  for (var i=0;i<this.length;i++)
  {
    this[i]=initArray.arguments[i];
  }
}
var Dny=new initArray("Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota","Nedeľa");
var Mesice=new initArray("Január","Február","Marec","Apríl","Máj","Jún",
                         "Júl","August","September","Október","Nevember","December");
var pocetDni=new initArray(31,28,31,30,31,30,31,31,30,31,30,31);
function Den(i)
{
  return( (i==0) ? 7 : i )
}
function Kalendar()
{
  s="<TABLE BGCOLOR=\"#FFE5C0\" BORDER=5 CELLPADDING=5><TR><TH COLSPAN=7>";
  dnes=new Date();
  rok=dnes.getYear();
  if (((rok % 4 == 0) && (rok % 100 != 0)) || (rok % 400 == 0)) pocetDni[1] = 29;
  s+=Dny[Den(dnes.getDay())-1]+" "+dnes.getDate()+". "+Mesice[dnes.getMonth()]+" ";
  s+=(dnes.getYear()>=2000) ? dnes.getYear() : 1900+dnes.getYear();
  s+="<TR><TH><TT>Pon<TH><TT>Ut<TH><TT>St<TH><TT>Št<TH><TT>Pia<TH><TT>So<TH><TT>Ne<TR>"
  dnes.setDate(1);
  prvniDen=Den(dnes.getDay());
  sloupec=1;
  for(i=1;i<prvniDen;i++)
  {
    s+="<TD>&nbsp";
    sloupec++
  }
  dnes=new Date();
  dnesek=dnes.getDate();
  posledniDen=pocetDni[dnes.getMonth()]
  for(i=1;i<=posledniDen;i++)
  {
    s+="<TD>";
    if (sloupec==6) s+="<FONT COLOR=\"#0000FF\">";
    if (sloupec==7) s+="<FONT COLOR=\"#FF0000\">";
    if (i==dnesek) s+="<FONT COLOR=\"#00E000\"><B><BLINK>";
    s+="<CENTER>"+i+"</CENTER>";
    sloupec++;
    if (sloupec==8)
    {
      if (i!=posledniDen) s+="<TR>";
      sloupec=1
    }
  }
  if (sloupec!=1) for(i=sloupec;i<=7;i++) s+="<TD>&nbsp";
  s+="</TABLE>";
  document.write(s);
}
// -->
</script>
<script LANGUAGE="JavaScript">
<!--
Kalendar();
// -->
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

1. Možno ti to ešte nikto nepovedal, ale existujú aj uzatváracie tagy ako </tr>, </td>, </font>...
2. Namiesto getYear() použi getFullYear(). Teda namiesto

Kód: Vybrať všetko

s+=(dnes.getYear()>=2000) ? dnes.getYear() : 1900+dnes.getYear();
môžeš použiť

Kód: Vybrať všetko

s+=dnes.getFullYear();
3. Namiesto

Kód: Vybrať všetko

     s+="<TD>"; 
     if (sloupec==6) s+="<FONT COLOR=\"#0000FF\">"; 
     if (sloupec==7) s+="<FONT COLOR=\"#FF0000\">"; 
     if (i==dnesek) s+="<FONT COLOR=\"#00E000\"><B><BLINK>"; 
     s+="<CENTER>"+i+"</CENTER>";
tam daj

Kód: Vybrať všetko

     s+="<TD><CENTER><A HREF=\"" + (i + "_" + Mesice[dnes.getMonth()] + "_" + dnes.getFullYear() + ".html") + "\">";
     if (sloupec==6) s+="<FONT COLOR=\"#0000FF\">";
     if (sloupec==7) s+="<FONT COLOR=\"#FF0000\">";
     if (i==dnesek) s+="<FONT COLOR=\"#00E000\"><B><BLINK>";
     s+=i;
     s+="</A></CENTER></TD>";
4. Pravdepodobne tam budeš chcieť pridať ešte jednu tabuľku s názvami mesiacov bez diakritiky (tie by sa použili pri generovaní toho linku).
5. Existuje kopec krajších kalendárov (a aj takých, ktoré nie sú paródiou na štandardy). ;)
Napísať odpoveď