Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JavaScript - Timer
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Plasot
Witam. Od jakiegoś czasu próbuje nauczyć się javaScriptu. Pobieranie danych przy pomocy id i operowanie na nich w podstawowy sposób np. działania matematyczne na nich, wyświetlanie ich. Stwierdziłem, żeby pójść o krok dalej i zająć się według mnie najważniejsza cechą javy - wyświetlaniem w czasie rzeczywistym na stronie bez potrzeby jej odświeżania. Stwierdziłem, że znajdę jakiś timer i postaram się go zrozumieć. Natrafiłem na jeden tutaj na tym forum. No i problem tkwi w tym, że nie zrozumiałem prawie nic. Szukałem wyjaśnień na internecie poszczególnych części, ale na nie wiele się to zdało. Jakby ktoś był w stanie łopatologicznie mi to opisać, bądź podać stronę, która jest w stanie wyjaśnić prostym językiem bądź zrozumiale podany przykład a nawet ten język byłbym wdzięczny. Poniżej podaje ten przykład:
  1. <script type="text/javascript">
  2. var sec=10000;
  3. function time() {
  4. if(sec==0) {
  5. location.href="http://www.wp.pl";
  6. } else {
  7. sec--;
  8. document.getElementById('tm').innerHTML=(sec < 10) ? ("0" + sec) : sec;
  9. setTimeout("time();", 1000);
  10. }
  11. }
  12. </head>
  13. <body onload="time()">
  14. <span id="tm">10</span>
  15. </body>

Link do postu z powyższym przykładem: http://forum.php.pl/index.php?showtopic=36385
Crozin
1. JavaScriptu nie Javy.
2. Od razu polecam zaznajomić się z biblioteką RxJS - jest idealna do tego typu zadań.
3. Powyższy kod jest raczej słabej jakości, nie jest to najlepszy przykład do wzorowania się.
4. Jestem całkiem pewien, że część z tego kodu rozumiesz. Napisz dokładnie co jest niejasne.
viking
Nie Java a JavaScript. Której części nie zrozumiałeś?
https://developer.mozilla.org/pl/docs/Web/A...ndow/setTimeout
https://developer.mozilla.org/en-US/docs/We...tional_Operator
Plasot
  1. document.getElementById('tm').innerHTML=(sec < 10) ? ("0" + sec) : sec;
  2. setTimeout("time();", 1000);


te dwie linijki są dla mnie ciężkie do pojęcia.
viking
Dokładnie ci odpowiedziałem. Wystarczy poczytać. Jedno wywołuje funkcję po czasie 1000ms (1s), drugie to ternary operator czyli if.
Plasot
Cytat(viking @ 16.10.2017, 10:22:48 ) *
Dokładnie ci odpowiedziałem. Wystarczy poczytać. Jedno wywołuje funkcję po czasie 1000ms (1s), drugie to ternary operator czyli if.


Dzięki za pomoc wszystko zrozumiałem smile.gif
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.