Autor | Zpráva | ||
---|---|---|---|
javascript Profil * |
#1 · Zasláno: 22. 5. 2008, 16:25:10
<script language="JavaScript"> TargetDate = "05/22/2008 03:25 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> neviete niekdo ako tento script zmenit tak aby sa nevypisoval tam kde je dany script v php data ale kde napisem napriklad echo odpocitavac(05/22/2008 03:25 AM); a v zatvorke bude cas dokedy ma funkcia odpocitavat ? |
||
yFang Profil |
#2 · Zasláno: 22. 5. 2008, 18:16:04
javascript
Tak šlo by to takle, pokud to dobře chápu. Funkce v PHP, která vypíše kód javascriptu: function odpocitavani($cas) { echo' <script language="JavaScript"> <!-- TargetDate = "'.$cas.'";//change this to the date you want BackColor = "black"; ForeColor = "white"; CountActive = true; DisplayFormat = "%%H%%:%%M%%:%%S%%"; 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> '; } A tu zavoláš takto: <?php odpocitavani("05/22/2008 03:25 AM"); ?> |
||
Javascript Profil * |
#3 · Zasláno: 22. 5. 2008, 21:05:35
yFang
a jeste neco neda udelat ze kdys odpocita do 00:00:00 ze se vypise hotovo ... a ne 00:00:-01 a dal ... |
||
los Profil * |
#4 · Zasláno: 22. 5. 2008, 21:26:56
Najjednoduchšie to opravíš asi tak, že na začiatok funkcie CountBack dáš: if (secs <= 0) { document.getElementById("cntdwn").innerHTML = "hotovo"; return; }
Kód komentovať nebudem, lebo mi z neho prišlo nevoľno. |
||
Časová prodleva: 16 let
|
0