Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Zapisywanie zmiennych globalnych przy...
_Martin_
post 7.12.2010, 17:34:39
Post #1





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


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?


--------------------
Go to the top of the page
+Quote Post
hondek
post 7.12.2010, 17:51:18
Post #2





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Nie wiem czy dobrze rozumiem, ale po prostu chyba wystarczy zdefiniować zmienna przed definicją funkcji winksmiley.jpg


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
zegarek84
post 7.12.2010, 17:54:17
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


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"

Ten post edytował zegarek84 7.12.2010, 17:56:30


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
_Martin_
post 7.12.2010, 21:53:21
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


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


Ten post edytował _Martin_ 7.12.2010, 23:14:13


--------------------
Go to the top of the page
+Quote Post

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: 21.06.2025 - 11:50