Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]pokazywanie treści w divie
Forum PHP.pl > Forum > Przedszkole
GoOx
Witam,
jestem początkujący w js a więc mało się nam na tym.
od 2 godzin próbuję się uporać z wyświetlaniem godziny w div oraz odświeżaniem go co sekundę ale jakos mi to nie wychodzi.
moj kod:

  1. <script type="text/javascript">
  2. function zero(element) {
  3. if (element < 10) return element = "0" + element;
  4. return element;
  5. }
  6.  
  7. function pokaz_czas() {
  8. var czas = new Date();
  9. var czas_na_zegarku = zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  10. var dat = document.getElementById('czas_pokaz');
  11.  
  12.  
  13. setTimeout("pokaz_czas()",1000)
  14. }
  15. document.getElementById('czas_pokaz') = function() { document.write(pokaz_czas()) }
  16.  
  17. <div id="czas_pokaz"></div>


próbowałem również tak:
  1. var pokaz = document.getElementById('czas_pokaz');
  2. document.write(pokaz.czas_na_zegarku);
  3.  

proszę o pomoc.
mortus
Chyba brakuje samego wyświetlania czasu
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('czas_pokaz').innerHTML = czas_na_zegarku;
[JAVASCRIPT] pobierz, plaintext

Sam dojdź do tego, którą linijkę powinieneś zastąpić i w którym miejscu umieścić powyższą. Poczytaj również o funkcji setInterval, która bardziej się nadaje do takich "rzeczy". No i pozostaje jeszcze kwestia pierwszego uruchomienia funkcji, które powinno nastąpić po załadowaniu okna - zdarzenie window.onload.
GoOx
dzięki działa. jak ktoś chce kod to jest tak:

  1. <div id="czas_teraz" ></div>
  2. <script type="text/javascript">
  3. function zero(element) { //1
  4. if (element < 10) return element = "0" + element;
  5. return element;
  6. }
  7.  
  8. function pokaz_czas() {
  9. var czas = new Date();
  10. var czas_na_zegarku = zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  11. var dat = document.getElementById('czas_teraz');
  12. dat.innerHTML = czas_na_zegarku;
  13. setTimeout("pokaz_czas()",1000)
  14. }
  15.  
  16. window.onload = pokaz_czas();
toaspzoo
Nie prościej jeden plik czas.php
  1. <?
  2. echo date('H:i:s');
  3. ?>


a w głownym

  1.  
  2. <div id=czas></div>
  3.  
  4.  
  5. function czas(){
  6.  
  7. $('#czas').load('czas.php');
  8. setTimeout('czas()',1000);
  9. }
  10.  
  11. setTimeout('czas()',1000);
  12. }
mortus
@toaspzoo: Wysyłanie żądania (w dodatku co sekundę) tylko po to, by pobrać odpowiednio sformatowany czas do najlepszych pomysłów nie należy. Skoro można to zrobić po stronie JavaScript, to dlaczego kolega nie miałby skorzystać z takiej możliwości.
toaspzoo
Np. po to, żeby miał czas z serwera, nie z komputera (lokalny) ?
boshentz
Ja, żeby wyświetlić czas serwerowy używałem funkcji time(); w php, która to za każdym przeładowaniem strony była wrzucana do funkcji w js.

Czyli: php raz na przeładowanie strony wyrzuca unix timestamp, a js po załadowaniu strony co sekundę dodaje do tego jeszcze jedną oraz wyświetla to jako odczytywalny dla czlowieka czas. W js używałem http://www.w3schools.com/js/js_obj_date.asp

[JAVASCRIPT] pobierz, plaintext
  1. var czasNaSerwerze = new Date(<?php echo time()*1000; ?>);
[JAVASCRIPT] pobierz, plaintext
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.