Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: timer
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
tkostek
potrzebny mi jest timer w js który w danych wejściowych otrzyma liczbę sekund podzieli ją na godziny, minuty, sekundy i będzie odliczał do zera. prosiłbym o link lub kodzik bo w js kompletnie się nie łapię.
wookieb
google -> javascript countdown
tkostek
wpisałem ale na polskich stronach jest niezbyt dużo
flashdev
Kod
function countDown(sec, fh){
function time(sec){
var s = sec%60;
sec = (sec-s)/60;
var m = sec%60;
sec = (sec-m)/60;
var h = sec%24;
sec = (sec-h)/24;
return h + ':' + m + ':' + s;
}
var iid = setInterval(function(){
--sec;
fh(time(sec));
if( !sec ){
clearInterval(iid);
}
}, 1e3);
fh(time(sec));
}

countDown(5, alert);


Nie testowałem, nie gwarantuję że działa.
tkostek
ok powiedzmy że mam skrypt, znalazłem na googlach.

no i teraz chciałbym go wstawić do php żeby odliczało mi od jakieś wartości i nie bardzo wiem jak to zrobić.
próbowałem tak:
  1. <!--
  2. //
  3. var milisec=0
  4. var seconds=100
  5. document.counter.d2.value='30'
  6.  
  7. function display(){
  8. if (milisec<=0){
  9. milisec=9
  10. seconds-=1
  11. }
  12. if (seconds<=-1){
  13. milisec=0
  14. seconds+=1
  15. }
  16. else
  17. milisec-=1
  18. document.counter.d2.value=seconds+"."+milisec
  19. setTimeout("display()",100)
  20. }
  21. -->
  22. <?
  23. $od=10;
  24. echo '<form name="counter"><input type="text" size="8" name="d2"></form>';
  25. $js="<script>display(seconds=$od)</script>";
  26. echo $js;
  27. ?>

i nie działa, dlaczego?questionmark.gif
flashdev
  1. <input type="text" id="tf" />
  2. <script>function countDown(sec, fh){
  3. function time(sec){
  4. var s = sec%60;
  5. sec = (sec-s)/60;
  6. var m = sec%60;
  7. sec = (sec-m)/60;
  8. var h = sec%24;
  9. sec = (sec-h)/24;
  10. return h + ':' + m + ':' + s;
  11. }
  12. var iid = setInterval(function(){
  13. --sec;
  14. fh(time(sec));
  15. if( !sec ){
  16. clearInterval(iid);
  17. }
  18. }, 1e3);
  19. fh(time(sec));
  20. }
  21.  
  22. countDown(155, function(t){
  23. document.getElementById('tf').value = t;
  24. });
zegarek84
  1. <head>
  2. <title>Timer</title>
  3. <script type="text/javascript">
  4. function timers($input, $sekund){
  5. var $ms=$sekund*1000+700,
  6. $self=this,
  7. $odliczanie,
  8. wyswietl = function($ob){
  9. $input.value=[$ob.h,$ob.m,$ob.s].join(':');
  10. },
  11. prepare = function($l){
  12. if($l<10)$l=[0, $l].join('');
  13. return $l;
  14. },
  15. pozostalo =function($ms){
  16. var time=new Date($ms),
  17. $h = time.getUTCHours(),
  18. $m = time.getUTCMinutes(),
  19. $s = time.getUTCSeconds();
  20. return {h:prepare($h), m:prepare($m), s:prepare($s)};
  21. },
  22. koniec=new Date((new Date).getTime() + $ms);
  23. this.go = function(){
  24. var teraz = new Date,
  25. reszta = koniec.getTime()-teraz.getTime();
  26. if(reszta<0){
  27. reszta=0;
  28. clearTimeout($odliczanie);
  29. } else {
  30. $odliczanie = setTimeout($self.go, 1000);
  31. }
  32. wyswietl(pozostalo(reszta));
  33. }
  34. };
  35. function ini(){
  36. var $input = document.forms['counter'].timer,
  37. $t = new timers($input, 30); // tutaj podajesz liczbę sekund...
  38. $t.go();
  39. };
  40. window.onload=ini;
  41. </script>
  42.  
  43. </head>
  44. <body>
  45. <form name="counter"><input type="text" value="" size="8" name="timer"></form>
  46. </body>
  47. </html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.