Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]kolejność wykonywania funcji w JS
Odoakr
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 5.03.2008

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


Czołem.

Mam funkcję, której mode; jest poniżej.

  1. function foo() {
  2.  
  3. zapytanieAjaxZwracająceHtml(); // funkcja pobiera kod HTML i wrzuca go w odpowiedni div
  4. zmianaCzcionkiZwróconegoTerkstuHTML(); // chcę zmienić czcionkę przed chwilą dodanego tekstu używając cufon.
  5. }


Problem polega na tym, że pobieranie HTML i wrzucanie go do div trwa ok 200ms. W tym czasie, zanim zostanie załadowany tekst, wykona się skrypt zmiany czcionki, który oczywiście nie zrobi nic, bo tejstu jeszcze nie ma.
Pytanie. Jak uświadomić druga fuknkcję, żeby wykonała się dopiero po załadowaniu tekstu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
--fate--
post
Post #2





Goście







Moze zdarzenie onload?
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


[JAVASCRIPT] pobierz, plaintext
  1. var x = 0;
  2.  
  3. function x
  4. {
  5. x = 1;
  6. }
  7.  
  8. funcrion y
  9. {
  10. if(x==1)
  11. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Przeczytaj o callback
Go to the top of the page
+Quote Post
Odoakr
post
Post #5





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 5.03.2008

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


@ -fate- onload odpada, bo z tego co wiem to dotyczy całej strony, a nie konkretnego div.
@ !*! odbada bo zanim funkcja x zmieni zmienna globalną to funkcja y się wykona. Kluczem do problemu jest czas
@ Fifi209. Callback brzmi obiecująco... ogarnę je trochę bardziej
Go to the top of the page
+Quote Post
Dominator
post
Post #6





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Może spróbuj delay()
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Bo to tylko prymitywny przykład był
[JAVASCRIPT] pobierz, plaintext
  1. var x = 0;
  2. function x
  3. {
  4. x = 1; // gdy skończysz i sprawdź czy aby na pewno.
  5. }
  6.  
  7. if(x==1)
  8. {
  9. funcrion y
  10. {
  11.  
  12. }
  13. }
[JAVASCRIPT] pobierz, plaintext


Użyj jQuery, tam jest to dobrze rozwiązane i masz pewność że zadziała.
Go to the top of the page
+Quote Post
sh3d2
post
Post #8





Grupa: Zarejestrowani
Postów: 34
Pomógł: 11
Dołączył: 10.06.2011
Skąd: świdnica

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


[JAVASCRIPT] pobierz, plaintext
  1. $.get('twoj_url', function(data){
  2. // tutaj masz swoj html jako obiekt data
  3. // robisz co chcesz zrobic, a potem
  4. $('#twoj_div').html(data)
  5. })
[JAVASCRIPT] pobierz, plaintext


oczywiscie wymaga jquery

Ten post edytował sh3d2 24.04.2012, 19:40:03
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: 22.12.2025 - 00:38