Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Js] czekanie az petla sie skonczy
blokern
post 2.03.2021, 17:21:38
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 27.02.2008

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


Hejka mam taki kod

  1. $(document).ready(function(){
  2. $(".filtr").click(function(){
  3. //$(".preloader").css("display", "block");
  4. var data = $(this).attr("name");
  5. $(this).addClass("check");
  6. apartamenty.forEach(
  7. function(id) {
  8. var kalendarz = $("div[name="+id+"]").attr(data);
  9. if($("div[name="+id+"]").is(':visible'))
  10. {
  11. if(kalendarz==0){
  12. $("div[name="+id+"]").hide();
  13. }
  14. }else{
  15. $("div[name="+id+"]").show();
  16. }
  17. });
  18. });
  19. });


dlaczego to
  1. $(this).addClass("check");

wykonuje sie dopiero jak skonczy wykonywac sie to
  1. apartamenty.forEach


i jak moge spowodowac zeby addClass nie czekal na koniec petli?


--------------------
www.Opiekuj.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blokern
post 3.03.2021, 11:28:47
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 27.02.2008

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


jak usune petle to leci z wykonywaniem po kolei. wlasciwie to nie widac przez chwile preloader bo jest show i hide po sobie
210 apartamentow

a jeszcze mam pytanie o to
apartamenty.forEach(function(id) {})

wyswietli jak skonczy sie petla a czy da sie wyswietlac w trakcie wykonywania petli?


--------------------
www.Opiekuj.pl
Go to the top of the page
+Quote Post
LowiczakPL
post 7.03.2021, 07:41:44
Post #3





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


Cytat(blokern @ 3.03.2021, 11:28:47 ) *
jak usune petle to leci z wykonywaniem po kolei. wlasciwie to nie widac przez chwile preloader bo jest show i hide po sobie
210 apartamentow

a jeszcze mam pytanie o to
apartamenty.forEach(function(id) {})

wyswietli jak skonczy sie petla a czy da sie wyswietlac w trakcie wykonywania pętli?


ten kod nie jest napisany tak aby czekał jak skończy się pętla, ten kod modyfikuje DOM w każdym przebiegu pętli, dzieje się to po prostu tak szybko że nie zauważasz tego, aby to sprawdzić wystarczy dać pauzę KILKA sekund opóźnienia na końcu pętli (nie znaczy to poza pętla ale przed jej zakończeniem) a przekonasz się że tek kod przed pętlą o który pytałeś wcześniej wykonuje się najpierw i że każda linia wykonuje się na stronie jedna po drugiej nie czekając na koniec pętli.

funkcja opóźniająca

Kod
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}


użycie funkcji aby opóźniać wykonywanie pętli w mili sekundach, 1 sekunda to 1000 mili sekund, poniżej to 2 sekundy

Kod
await sleep(2000);


Ten post edytował LowiczakPL 7.03.2021, 07:38:29


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 09:17