Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> OOP w JS
mrKrecik
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.05.2005

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


Witam. smile.gif
Mam pewien problem (OOP w JS nie znam za bardzo). :/
Otóż widzę to tak, ale gorzej z realizacją:
mam klasę, która tworzy div'a na stronie, a następnie przechwytuje wszystkie działania na nim. Ale tylko dla "swojego" div'a.
Tzn. po zainicjowaniu obiektu każdy "ruch" tego div'a będzie odpowiednio realizowany przez metody zawarte w jego obiekcie (dla przykładu - jego schowanie).
Głównie chodzi o to by napisać coś dzięki czemu nie będę musiał za każdym razem sprawdzać na czym "ruch" został wykonany, następnie pobierać tego ID, zapisywać do zmiennej i wtedy coś dalej robić (przekazując to ID z funkcji do funkcji).

Tak teoretycznie:
  1. <?php
  2. var Div = 
  3. {
  4. create : function()
  5. {
  6. //Tworzenie div'a oraz wciśnięcie go w kod HTML. :)
  7. },
  8.  
  9. hide : function()
  10. {
  11. //Pokazywanie lub ukrywanie (w tym przypadku zmienna x przechowuje 'True' albo 'False' co ukazuje stan schowania. Następnie w zależności od tego okno jest chowane lub pokazywane)
  12. }
  13. }
  14.  
  15. Div.create();
  16. ?>


Jak to rozwiązać? Czy mam każdej warstwie przypisywać jakiś id, następnie dodać przy tworzeniu zdarzenie onmouseclick( hide( id ) )?
Czy może da się to jakoś tak właśnie rozwiążać, żeby nie trzeba było przekazywać ID?

Wcześniej robiłem tak:
  1. <?php
  2. ...
  3. hide : function( id )
  4. {
  5. if( id.hide == 'True' )
  6.  {
  7. //Pokazywanie wartstwy (zmiana style['display'] na 'block'.
  8. id.hide = 'False';
  9. }
  10. else
  11. {
  12. //Analogicznie do powyższego
  13. }
  14. }
  15. ...
  16. ?>


Tylko właśnie nie wiem czy mogę sobie tworzyć jakieś wymyślone przeze mnie zmienne (id.hide) i definiować je w ten sposób. :/

z góry dzięki za dopowiedzi
pozdrawiam
mrKrecik

Ten post edytował mrKrecik 8.01.2007, 22:02:34
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 Aktualny czas: 19.08.2025 - 15:18