Autor | Zpráva | ||
---|---|---|---|
Suta Profil |
#1 · Zasláno: 20. 8. 2009, 14:44:47 · Upravil/a: Suta
Mám otázku ohledně odkazů na vytvořené objekty. Nejlépe to snad vysvětlím na praktickém příkladu.
Dejme tomu že budu mít situaci, kdy vytvářím nové okna zobrazující se jako absolutně pozicované na stránce, vytvářet je budu jako instance třídy. Jelikož okna můžu posouvat a mohou se tedy překrývat, potřebuji, aby vždy to aktuální (to, s nímž budu právě pracovat) bylo vždy nahoře a mělo z-index o 1 vyšší než ostatní. Budu tedy potřebovat další proměnou, do níž budu ukládat aktuální okno. "Funkční" řešení je níže. //inicializuji globalni promennou, do niz bych chtel ukladat odkaz na aktualni okno var aktualniOknoZIndex; //kazde okno bude dostupne pres vnitrni promennou element, pri kliknuti na okno spustim udalost onclick this.element.onclick = this.nastavZIndex; //funkce overi, zda-li nepracujeme se stejnym oknem, //pote puvodnimu oknu nastavi puvodni z-index a novemu oknu po ulozeni do globalni promenne nastavi z-index o 1 vyssi NewWindow.prototype.nastavZIndex = function() { if(aktualniOknoZIndex==this) return; if(aktualniOknoZIndex) aktualniOknoZIndex.style.zIndex = 1000; aktualniOknoZIndex = this; //zde zkratka nevim, jak jinak ulozit "odkaz" na aktualni objekt aktualniOknoZIndex.style.zIndex = 1001; } Otázka však zní, jak zabránit neustálému kopírování celého objektu do globální proměnné aktualniOknoZIndex, když v podstatě potřebuji ukládat pouze odkaz na objekt? |
||
Aichi Profil |
#2 · Zasláno: 20. 8. 2009, 16:54:53
Javascript objekty nekopíruje, ale používá reference jak na objekty tak na pole. Váš kód je v pořádku
|
||
Suta Profil |
#3 · Zasláno: 20. 8. 2009, 17:44:06
Aichi
Nevěděl jsem, děkuji. |
||
Časová prodleva: 15 let
|
0