Autor | Zpráva | ||
---|---|---|---|
Jaromir Jagr Profil * |
<script language="JavaScript"> TargetDate = "05/22/2008 02:59 AM";//change this to the date you want BackColor = "black"; ForeColor = "white"; CountActive = true; DisplayFormat = "%%H%%:%%M%%:%%S%%"; </script> <script language="JavaScript" type="text/javascript"> <!-- function calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); if (s.length < 2) s = "0" + s; return "" + s + ""; } function CountBack(secs) { DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24)); DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60)); DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60)); document.getElementById("cntdwn").innerHTML = DisplayStr; if (CountActive) setTimeout("CountBack(" + (secs-1) + ")", 990); } function putspan(backcolor, forecolor) { document.write("<span id='cntdwn' style='background-color:" + backcolor + "; color:" + forecolor + "'></span>"); } if (typeof(BackColor)=="undefined") BackColor = "white"; if (typeof(ForeColor)=="undefined") ForeColor= "black"; if (typeof(TargetDate)=="undefined") TargetDate = "12/31/2020 5:00 AM"; if (typeof(DisplayFormat)=="undefined") DisplayFormat = "%%H%%:%%M%%:%%S%%"; if (typeof(CountActive)=="undefined") CountActive = true; putspan(BackColor, ForeColor); var dthen = new Date(TargetDate); var dnow = new Date(); ddiff = new Date(dthen-dnow); gsecs = Math.floor(ddiff.valueOf()/1000); CountBack(gsecs); //--> </script> Ahojte mam otazku nejde tento kod niako zjednoduchsit a vylepsit ... lebo ked napriklad chcem vypisat ten odpocet v tabulke musim dat cely script to <td></td> |
||
Mistr Profil |
#2 · Zasláno: 22. 5. 2008, 04:46:30
Jaromir Jagr
nejde tento kod niako (...) vylepsit Vylepšit? Co třeba http://www.jakpsatweb.cz/javascript/zacleneni.html#externim |
||
peta Profil |
#3 · Zasláno: 22. 5. 2008, 08:56:38
Jaromir Jagr
umis pracovat s jakymkoliv programovacim jazykem? Hloupa otazka, protoze nejspis ne. putspan(backcolor, forecolor) - generuje policko se SPAN pro cas CountBack(secs) - spousti opakujici casovac cili do toho TD pak staci <script>putspan(BackColor, ForeColor);CountBack(gsecs);</script> Mimo to to muzes dat externe, krome kodu do TD. A mimo to to muzes zjednodusit orezanim promennych a podminek IF. Generovani spanu lze vynechat uplne a jen nastavit nejakemu prvku spravne ID, treba tomu TD. Cele se ti to zkrati asi 5-10 radku. Zcela navic tam mas: </script> <script language="JavaScript" type="text/javascript"> <!-- Ty IFy, priklad: BackColor = "black"; if (typeof(BackColor)=="undefined") BackColor = "white"; Cely ten IF muze jit tim padem pryc, ten se pta, jestli takova promenna existuje. A protoze ji definujes kousek nad tim, tak to tam neni treba. Ale je to znamka dobre udelaneho scriptu, pocita se vsim. |
||
Časová prodleva: 16 let
|
0