Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zapisywanie zmiennych globalnych przy...
Forum PHP.pl > Forum > Przedszkole
_Martin_
Witam

Od niedawna tułam się z pewnym problemem
Teraz go opiszę.

Jak zrobić aby zmienna, stała się globalną, to znaczy funkcja tworzy tak jak by div'a przypisuje mu id i przypisuje zmiennej numer id
"var pozycja = 21". Teraz wywołuje kolejną funkcje i pobieram numer id ze zmiennej i spr czy się nie powtórzyła.
I tutaj jest problem bo jak dam zmienną globalną pozycja = 21 to przy stworzeniu kolejnego diva zmienna "pozycja" zmienia swoją liczbe.


Teraz pytanie
1. Jak zrobić wiele zmiennych tworząc je przez funkcje do odpowiedniego celu
2. Jak zrobić im wszystkim globala żebym mógł np za 15 sekund spr czy numer się nie powtórzył albo nie został usunięty?
hondek
Nie wiem czy dobrze rozumiem, ale po prostu chyba wystarczy zdefiniować zmienna przed definicją funkcji winksmiley.jpg
zegarek84
wszystko zależy od tego, do czego dokładnie to potrzebujesz - no niby to opisałeś ale... i jedno z rozwiązań to globalna tablica i po prostu odwołanie do tych "uchwytów" po kluczu... oczywiście rozumiejąc zasięg zmiennych w javascript ta zmienna nie musi być globalna - może być nadrzędna dla innych funkcji ale nie musi lądować w window... funkcje szukają zmiennych w górę "drzewa" ich istnienia aż do window - anonimowe funkcje choć nie masz uchwytu w window podobnie się zachowują - więc tą zmienną można zdefiniować na jakimś poziomie zagłębienia nad funkcjami prywatnymi...

edit... a jeśli po drodze masz zmienne lokalne o tej samej nazwie to żeby odwołać się do zmiennej globalnej musisz poprzedzić ją przez window czyli window.zmienna.... - o ile lokalnie window nie będziesz miał zdefiniowane to przeszukiwanie jest w górę i dopiero po zagłębieniu z odwołania z "kropki"
_Martin_
Nie mam po drodze zmiennych z tą samą nazwą, chodzi o wyświetlanie obrazka on się porusza aż nie skończy animować czyli div nie przestanie się ruszać i po uruchomieniu funkcji moveAnime(1); gdzie 1 to id div'a który ma się poruszyć, i jeśli nie skończy swojej animacji powtarza ją jeśli zaś skonczy if wybiera koniec i chce wrzucić tam właśnie zmienna np: var endAnimeUnit == true;

Ma to zapobiec odnawianiu animacji. jesli false znaczy wywala return; jeśli true, animuje go ponownie. tylko pobiera z bazy mysql za pomocą ajax'a co sekunde informacje po czym puki nie skończy się animować nie uruchamia go ponownie. O to się rozchodzi dogłębnie smile.gif

Dodam taki przykład:

[JAVASCRIPT] pobierz, plaintext
  1. function moveToAnim(unit, callback, cx, cy){
  2. if(endAnimUnit.unit == undefined){endAnimUnit.unit = null;}
  3. //alert(endAnimUnit.unit);
  4. if(endAnimUnit.unit == false) return alert('Przerywam');
  5. endAnimUnit.unit = false;
  6. //alert(endAnimUnit.unit);
  7.  
  8. W Funkcji kończącej jest zmiana endAnimUnit.unit, na true, lecz jak uruchamiam ponownie to pozostałe również mają false a nie już true, może źle zaadresowałem endAnimUnit.unit i nie ma w niej danych...
  9. }
[JAVASCRIPT] pobierz, plaintext
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.