Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XAJAX] powtarzanie funkcji co sekundę
peter13135
post
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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ę (IMG:http://forum.php.pl/style_emoticons/default/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()">
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Do takich rzeczy uzywa sie setInterval kolego.
Go to the top of the page
+Quote Post
peter13135
post
Post #3





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


ok, a jeśli już użyłem setTimeout to źle (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) mi to działa,
tylko zastanawiam sie czy takie odświeżanie co sekundę nie zarżnie serwera (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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)?

Ten post edytował wookieb 8.06.2009, 21:02:00
Go to the top of the page
+Quote Post
peter13135
post
Post #5





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

no ale rozumiem o co chodzi, postaram sie to zmienić, dzięki za odpowiedzi
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 19:28