Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [JavaScript][Java] setInterval

Napisany przez: mrk9109 21.01.2022, 14:12:12

Witam otóż mam prolem nie wiem czemu ale window.setTimeout działa bez problemu a window.setInterval już nie. Gdy minie zadany czas wywołuje tylko 3 na 5 funkcji co ma co blokuje reszte ?

  1.  
  2. function klan1 () {
  3.  
  4. $('#war_field').val('Kope'); // Nazwa klanu do wojny
  5.  
  6. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  7. $('#war_field').val('');
  8. }
  9. window.setTimeout(klan1, 1000);
  10. window.setInterval(klan1, 3615000);
  11.  
  12. function klan2 () {
  13.  
  14. $('#war_field').val('AFK'); // Nazwa klanu do wojny
  15.  
  16. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  17. $('#war_field').val('');
  18. }
  19. window.setTimeout(klan2, 11000);
  20. window.setInterval(klan2, 3630000);
  21.  
  22. function klan3 () {
  23.  
  24. $('#war_field').val('Lol'); // Nazwa klanu do wojny
  25.  
  26. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  27. $('#war_field').val('');
  28. }
  29. window.setTimeout(klan3, 21000);
  30. window.setInterval(klan3, 3645000);
  31.  
  32. function klan4 () {
  33.  
  34. $('#war_field').val('Lolo'); // Nazwa klanu do wojny
  35.  
  36. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  37. $('#war_field').val('');
  38. }
  39. window.setTimeout(klan4, 31000);
  40. window.setInterval(klan4, 3660000);
  41.  
  42. function klan5 () {
  43.  
  44. $('#war_field').val('KOSY'); // Nazwa klanu do wojny
  45.  
  46. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  47. $('#war_field').val('');
  48. }
  49. window.setTimeout(klan5, 41000);
  50. window.setInterval(klan5, 3675000);
  51.  
  52.  

Napisany przez: nospor 21.01.2022, 15:46:41

Chyba nie zdajesz sobie sprawy miedzy roznicami w tych dwoch funkcjach. Wszystkie setInterval ci sie odpalaja, tylko ze skoro dzialaja na tych zamych polach to sie nadpisuja. setInterval odpala funkcje nieskonczenie wiele razy, setTimeout tylko raz.

Napisany przez: mrk9109 21.01.2022, 15:58:11

Właśnie tak chce na początku odpalić a później co 1h + to jak inaczej zrobić ten interval by uruchamiać wszystkie ? Czyli 1h 15sec następny 1h 30sec itp tak jak ustawiłem czasy

Napisany przez: nospor 21.01.2022, 16:03:52

Wywal te setInterval a na koncu kazdej funkcji daj

window.setTimeout(klan5, 3600000);

oczywiscie z odpowiednim numerkiem klan

Napisany przez: mrk9109 21.01.2022, 19:28:55

Ale ja chce to powtórzyć minimum 5 raz to jak to zapisać ? Bo po 1h powtórzy tylko raz

A jak te time dam do pętli for to będą powtarzane ?

Napisany przez: trueblue 21.01.2022, 19:50:58

Na jakiej podstawie twierdzisz, że funkcje nie są wywoływane?
https://jsfiddle.net/mh1d5t6q/


Napisany przez: nospor 21.01.2022, 20:36:09

Cytat(mrk9109 @ 21.01.2022, 18:28:55 ) *
Ale ja chce to powtórzyć minimum 5 raz to jak to zapisać ? Bo po 1h powtórzy tylko raz

A jak te time dam do pętli for to będą powtarzane ?

Jakbys zrobil jak ci napisalem, to co godzine ci bedzie powtarzac.

Napisany przez: mrk9109 22.01.2022, 12:22:36

mówisz tak ? bo to nie działa co 1h ....

  1. function klan5 () {
  2.  
  3. $('#war_field').val('KOSY'); // Nazwa klanu do wojny
  4.  
  5. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  6. $('#war_field').val('');
  7.  
  8. window.setTimeout(klan5, 3600000);
  9. }
  10. klan5();


Cytat(trueblue @ 21.01.2022, 19:50:58 ) *
Na jakiej podstawie twierdzisz, że funkcje nie są wywoływane?
https://jsfiddle.net/mh1d5t6q/


na takiej że nie za kązdym razem wywołuje wszystkie coś go bloknie co jakiś czas

Napisany przez: nospor 22.01.2022, 12:44:25

Cytat
mówisz tak ? bo to nie działa co 1h ....

No ale wywalis jeden setTimeout....
Wyraznie napisalem wywal setInterval i dodaj setTimeout. nic nie mowilem o wywalanu rowniez setTimeout razem z setInterval

teraz wszystko odpalasz w jednym czasie i ci sie wszystko jednoczenie nadpisuje przeciez

Napisany przez: mrk9109 22.01.2022, 15:41:09

tak ? i będzie to co 1h powtarzał ?

  1. function klan5 () {
  2.  
  3. $('#war_field').val('KOSY'); // Nazwa klanu do wojny
  4.  
  5. GAME.emitOrder({a:39,type:24,shorts:$('#war_field').val()});
  6. $('#war_field').val('');
  7.  
  8. window.setTimeout(klan5, 3600000);
  9. }
  10. window.setTimeout(klan5, 41000);



dzięki wielkie smile.gif

Napisany przez: nospor 22.01.2022, 17:39:54

Tak

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)