Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odliczanie czasu, pomocy, odliczanie czasu w javascript
konfeusz
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 26.09.2009

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


Witam serdecznie.
Na wstępie muszę przeprosić wszystkich, że zajmuje miejsce na tym zacnym forum, szukając gotowego rozwiązania.
Przyznam szczerze, że jestem kompletna noga z JavaScript i mimo usilnych starań zgłębienia tego języka, ni cholery mi nie wchodzi w moją mózgownicę.
Dlatego też zwracam się z ogromną prośbą do osób znający ten język o pomoc w nakierunkowaniu, bądz też (piszę to ze wstydem) w wyręczeniu mnie w tym trudnym dla mnie dziele.

Problem z jakim muszę się zmierzyć wygląda następująco:

Chodzi mi o skrytpt w JS, polegający na odliczaniu czasu (powiedzmy co 5 min) od załadowania strony. Po upływie tych, że 5 minut, wyskakuje komunikat (coś na zasadzie alertu) z pytaniem, gdzie użytkownik ma do wyboru 2 lub 3 odpowiedzi. Jeśli odpowie prawidłowo na pytanie, alert się zamyka, a czas zostaje liczony od nowa i po kolejnych 5 min, wyskakuje nowy alert z nowym pytaniem (coś na zasadzie quizu), i tak w kółko.
Powiedzmy, że pytań różnych jest 10 i generowane są losowo.
W przypadku natomiast kliknięcia w błędną odpowiedz na alercie, do głównej strony ładowana jest nowa strona (w moim przypadku strona ze skryptem wylogowującym w PHP).

Z góry dziękuję wszystkim patrzącym na moją prośbę z pobłażaniem i chęcią pomocy, a innych, krytykujących moje oczekiwania korzystania z wiedzy innych, doskonale rozumiem, jednak wyjścia nie mam jak proszenie o pomoc.

Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
konfeusz
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 26.09.2009

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


dzieki kamil4u... następna bardzo pomocna wskazówka i lektura, ale...

No namieszałem już na maxa :/

Wiem, że co nie których wprowadzę w paniczny śmiech lub zarzenowania, ale już tak mam, że wolę praktycznie próbować niż siedzieć nad toną makulatury nic z tego nie rozumiejąc.
Skleiłem 2 skrypty do kupy, tak, by mieć kontrolę nad odliczanym czasem podczas wyświetlonego komunikatu o pytanie, a wyszło mi zupełnie całkiem coś innego.
Z tego co mi wyszło, mógłbym dostosować już działanie strony tak, żeby zliczał całkowity czas faktycznego uczestnictwa w stronie, bo troszkę wcześniejsza wersja tego co przedstawiam poniżej, odlicza czas, potem pauzuje podczas wyswietlania komunikatu w alercie a po uplywie czasu przekierowyuje np, na stronę statystyk.
Ale nie zupełnie o to mi chodziło.

Z tego co mi poniżej wykiełkowało, zlicza wlasnie czas, pauzuje go podczas ALERT, natomiast po kliknieciu w prawidłowa odpowiedz, licznik sie zachowuje jak by plynely 2 czasy (stary i nowo wywolany)...

Zasadniczo wiem o co chodzi, ale moze mi ktos wskazac blad, gdzie zle i dlaczego wywołuję clearTimeOut??

  1. <script type="text/javascript">
  2. //pierwowzor skryptu by AdIoS_Neo
  3. var pytania = ["Którą literkę lubicz ?\n1) A\n2) B\n3) C", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
  4. var odpowiedzi = ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1"];
  5. var ostatnie;
  6.  
  7. function ankieta(){
  8.  
  9.  
  10. do{
  11. var ktore = Math.round(Math.random()*9);
  12.  
  13. }while(ktore == ostatnie);
  14. setTimeout(function(){writeText(50);}, 3000);// liczy ale ciagle z pauza podczas questa
  15. var odpowiedz = prompt(pytania[ktore]);
  16.  
  17. if(odpowiedz == odpowiedzi[ktore]){
  18.  
  19. ostatnie = ktore;
  20. setTimeout('ankieta()', 4000); // wartość liczbową zmienić na 300000 (5 minut)
  21. clearTimeout(writeText);
  22. }
  23. else{
  24. location.href = "http://google.pl";
  25. }
  26. }
  27.  
  28. function writeText(count){
  29. document.getElementById("TEXT1").value = count;
  30. // Dzięki temu warunkowi będzie wykonywane odliczanie.
  31. // Klauzula else zapobiega wykonaniu dalszej części kodu,
  32. // do momentu zakończenia odliczania.
  33. if (count > 0)
  34. setTimeout(function(){writeText(count-1);}, 1000);
  35. else
  36. location.href = "http://google.pl";
  37. // document.getElementById("TEXT1").value = "Koniec odliczania!!!";
  38. }
  39.  
  40. //-->
  41.  
  42. window.onload = function(){
  43. setTimeout('ankieta()', 3000); // wartość liczbową zmienić na 300000 (5 minut)
  44.  
  45. }
  46. </script>
  47.  
  48. </head>
  49.  
  50. <body bgcolor="silver">
  51.  
  52. <input id="TEXT1" type="text" />
  53. <input type="button" value="Start" onclick="writeText(3);" /><br>
  54.  
  55. </body>
  56. </html>
  57.  


Ten post edytował konfeusz 11.06.2012, 15:26:55
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 11:19