Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod, zmienne i pobieranie wartości
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Kayne
Witam

Mam taki kod:

Kod
<script>
var godzin = document.getElementById('timer_g').innerHTML;
var minut = document.getElementById('timer_m').innerHTML;
var sekund = document.getElementById('timer_s').innerHTML;

function make_time(godzin, minut, sekund)
{
    sekund++;
    if ($sekund >= 60)
        {
        $sekund = 0;
        $minu++;
        }
    if ($minut >= 60)
        {
        $minut = 0;
        $godzin++;
        }
    if ($godzin > 24)
        {
        $godzin = 0;
                 $minut = 0;
        $sekund = 0;
        }
        document.timer_a.innerHTML = '<b>'+godzin+':'+minut+':'+sekund;
}

</script>


Ale konsola błędów wyświetla mi, że zmienna sekund jest nie zdefiniowana. W czym problem?
Możecie sprawdzić? Zaznaczam, że kod pisałem sam a w JS programować nie umiem...
tomaszdurka
Nie wiem co chciałeś uzyskać, ale załączam przerobione tak że działa, ale najpewniej nie tak jak chciałeś.

  1. <head>
  2.  
  3. function make_time()
  4. {
  5. var godzin = document.getElementById('timer_g').innerHTML
  6. var minut = document.getElementById('timer_m').innerHTML;
  7. var sekund = document.getElementById('timer_s').innerHTML;
  8. sekund++;
  9. if (sekund >= 60)
  10. {
  11. sekund = 0;
  12. minu++;
  13. }
  14. if (minut >= 60)
  15. {
  16. minut = 0;
  17. godzin++;
  18. }
  19. if (godzin > 24)
  20. {
  21. godzin = 0;
  22. minut = 0;
  23. sekund = 0;
  24. }
  25. document.getElementById('timer_a').innerHTML = '<b>'+godzin+':'+minut+':'+sekund+'</b>';
  26. }
  27. </script>
  28. </head>
  29. <body onLoad="make_time();">
  30. <div id="timer_g">12</div>
  31. <div id="timer_m">30</div>
  32. <div id="timer_s">00</div>
  33. <div id="timer_a"></div>
  34. </body>
  35. </html>
Kayne
Właśnie, nie o to chodziło.
Do funklcji chcę przekazać 3 zmienne, które przechowują odpowiednio godzinę, minuty i sekundy. Te 3 zmienne mają ten czas z serwera, wyświetlone w DIV'ach przez php.

Ale jak przeniosłem te zmienne wyżej, nad funkcję a funkcję tak zmieniłem:

Kod
var godzin = document.getElementById('timer_g').innerHTML
var minut = document.getElementById('timer_m').innerHTML;
var sekund = document.getElementById('timer_s').innerHTML;

function make_time(godzin, minut, sekund)
{


Jakieś pomysły? sad.gif

Nikt nie wie, jak rozwiązać ten problem? Bardzo proszę o pomoc, niestety, ja sobię z tym nie umiem poradzić...

Ewentualnie, czy ktoś wie, jak pobrać z serwera czas i go wyświetlać, aby cały czas się aktualizował? Co sekundę?
PiotrLegnica
$zmienna i zmienna w JS to dwie różne zmienne.
Żeby te zmienne zostały przekazane do funkcji to ta funkcja musi być z nimi wywołana:
Kod
window.onload = function(e) { make_time(godzin, minut, sekund); };
Kayne
Tak, wiem, że są inne.
Dlatego $zmienna jest wyświetlana w DIV'ie a JS odczytuje ją z DIV'a.
gekon
Pokaż jak wywołujesz tę funkcję.
Kayne
Kod
<body onload="someInterval = window.setInterval('czas()', 1000);">


Jak mam przekazać te parametry do funkcji, żeby ona dostała je raz, a potem co sekundę tylko już do otrzymanych dodawała 1.

Bo jak robię np. tak:

Kod
<body onload="someInterval = window.setInterval('czas(12, 14,35)', 1000);">


To funkcja co sekundę będzie otrzymywać te same dane :/
gekon
http://www.w3schools.com/js/js_obj_date.asp
Kayne
Widać, że mnie nie słuchacie...

Na co mi funkcje, pobierania czasu od KLIENTA? Ja muszę mieć ten czas z SERWERA.
gekon
Czytać dokładnie:
  1. function make_time()
  2. {
  3. var time = document.getElementById('time').innerHTML.split(':');
  4. var godzin = time[0];
  5. var minut = time[1];
  6. var sekund = time[2];
  7.  
  8. /* obliczenia zrob sobie sam */
  9.  
  10. document.getElementById('time').innerHTML = '<b>'+godzin+':'+minut+':'+sekund+'</b>';
  11. time = setTimeout('make_time()',500);
  12. }
  13.  
  14. window.onload = function(){
  15. make_time();
  16. }


  1. <div id="time">12:02:01</div>


Ten post jest sponsorowany przez literkę 'r' jak rekurencja.
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.