Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][jquery] Problem z (hide)
zanst
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.02.2011

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


Dopiero zacząłem uczyć się jQuery i z pewnością to banalny problem, niemniej jednak chciałbym zrozumieć czemu to działa źle. Mam taki oto kod:
HTML:
  1. <div id="guzik">Menu</div>
  2. <div style="width: 100px; height: 100px; background-color: red;" class="menu"></div>
  3.  
  4. </body>


jQuery:
  1. $(function(){
  2. $('.menu').hide();
  3.  
  4. $('#guzik').click(function(){
  5. $('.menu').show();
  6. $('#guzik').addClass('showed');
  7. });
  8. $('#guzik.showed').click(function() {
  9. $('.menu').hide();
  10. $('#guzik.showed').removeClass('showed');
  11. }) ;
  12.  
  13.  
  14. }
  15. );


Po kliknięciu na napis Menu ma się pokazać czerwony kwadrat - pokazuje się. Po ponownym kliknięciu na napis Menu kwadrat ma się chować - nie działa, zostaje na ekranie. Co jest nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$('#guzik.showed').click(function() - ten kod odpala sie gdy guzik nie ma jeszcze klasy showed wiec sie nie lapie do twojej reguly.
Zainteresuj sie ON
Go to the top of the page
+Quote Post
trueblue
post
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Podpiąłeś zdarzenie click do elementu kiedy jeszcze nie ma klasy showed.
Obsługa zdarzenia ma być jedna, a w niej sprawdzenie czy element ma klasę, nadanie/usunięcie klasy oraz schowanie/pokazanie elementu.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ps: a czemu w ogole nie zrobisz poprostu toggle?

$('#guzik').click(function(){
$('.menu').toggle();
});

I juz
Go to the top of the page
+Quote Post
zanst
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.02.2011

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


Dzięki za pomoc. Toggle() nie użyłem bo go do tej pory nie znałem - po prostu uczę się z książki i chciałem spróbować już coś zrobić z tego co jest na jej początku. Teraz przeczytam ją do końca i wtedy będę próbował coś pisac (IMG:style_emoticons/default/smile.gif) .
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.08.2025 - 20:06