Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XAJAX] powtarzanie funkcji co sekundę
Forum PHP.pl > Forum > XML, AJAX
peter13135
na wstępie zaznaczam że używam xajaxa, oraz to co opisałem pod spodem działa bez zażutu

  1. <?php
  2. function data()
  3. {
  4.    $data=date::data();
  5.    $objResponse = new xajaxResponse();
  6.    $objResponse->assign("date_and_time","innerHTML", $data);
  7.    return $objResponse;
  8. }
  9. ?>


$data=date::data(); - to coś zwraca date w takim formacje jaki mi pasuje winksmiley.jpg
w body dałem
  1. <body onload="xajax_data()">


misce gdzie jest wyświetlana data

  1. <p id="date_and_time" style="background-color:#000000; color:#ffffff; font-weight:bold; text-align:center;">{DATA}</p>



ale jak zrobić aby ta funkcja xajax_data() była powtarzana co sekundę questionmark.gif, chciałbym aby czas sie aktualizował cały czas

już sobie poradziłem


dodałem takie coś
  1. <?php
  2. <script>
  3. function data()
  4. {
  5.      xajax_data();
  6.      setTimeout("data()", 1000);
  7. }
  8. </script>
  9. ?>


oraz zmieniłem

  1. <body onload="data()">
wookieb
Do takich rzeczy uzywa sie setInterval kolego.
peter13135
ok, a jeśli już użyłem setTimeout to źle questionmark.gif mi to działa,
tylko zastanawiam sie czy takie odświeżanie co sekundę nie zarżnie serwera tongue.gif
wookieb
Zle bo
1) Do tego uzywa sie setInterval bo taka pełni role. Obiad tez możesz zjeść widłami a nie widelcem. Widzisz roznice?
2) setTimeout służy do pojedynczego odczekania
3) po ilus setTimeoutach kolejny czas oczekiwania wydluza sie i to juz nie trwa sekunde a czasem nawet dochodzi 2. Czas te rosnie wraz z długoscia dzialania skryptu. A u ciebie bedzie sie tak dzialo bo nie czyscisz "czasomierza" funkcja clearTimeout.

Zasadnicze pytanie. Po co ci uaktualniac czas ajaxem? Nie mozesz raz na poczatku pobrac w miare aktualnego czasu i przeliczac to samym jsem (bez ajaxa)?
peter13135
1. ok, postaram sie zmienić na setInterval


Zasadnicza odpowiedź: o js mam niewielkie pojęcie, w php date umiem wygenerować, w js nie, a od dziś bawię sie xajaxem i mi sie spodobał, więc troche na siłe go wszędzie wrzucam tongue.gif

no ale rozumiem o co chodzi, postaram sie to zmienić, dzięki za odpowiedzi
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.