Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rozwijanie i zwijanie diva - problem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
user258
Witam

Chcę do strony dodać za pomocą jQuery funkcję dzięki której dany div będzie się zwijał i rozwijał.

Mam w belce przycisk z napisem zwiń. Jeśli content zostanie zwinienty to napis zmienia się na rozwin a div zmienia klasę. Problem polega na tym, że jeżeli raz zwine/rozwine to jest ok ale jeśli chcę to zrobić więcej razy to klasa i napis się nie zmieniają.

Oto cały kod:
  1. <title>Zwin/rozwin</title>
  2.  
  3. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  4. <style type="text/css">
  5. #belka {width: 200px; height: 30px; background: #0C9;}
  6. .zwin { float: right; background: #F00; padding: 3px; margin: 2px 5px 0 0; }
  7. .zwin.rozwin { background: #900;}
  8. #panel {width: 200px; background: #36C;}
  9. p { padding: 10px; margin: 0;}
  10. </style>
  11.  
  12. <script type="text/javascript">
  13. $(document).ready(function() {
  14.  
  15. var $Button = $("#belka .zwin");
  16. var $Panel = $("#panel");
  17.  
  18. $Button.click(function(){
  19. $Panel.slideToggle(1000);
  20. $Button.addClass("rozwin").text("rozwin");
  21. $Button.click(function(){
  22. $Button.removeClass("rozwin").text("zwiń");
  23. });
  24. });
  25.  
  26. });
  27. </head>
  28.  
  29. <div id="belka">
  30. <div class="zwin">zwiń</div>
  31. </div>
  32. <div id="panel">
  33. <p>Lorem ipsum dolor sit amet</p>
  34. <p>Lorem ipsum dolor sit amet</p>
  35. </div>
  36. </body>
  37. </html>


http://jsfiddle.net/WmAkc/
Necsord
Dobrze, że dałeś jsfiddle'a, przynajmniej łatwiej / przyjemniej sie sprawdza.

http://jsfiddle.net/WmAkc/1/
Przekombinowałeś z tymi zagnieżdżonymi akcjami.
http://api.jquery.com/on/
http://api.jquery.com/stop/

Twój kod działał za pierwszym razem tylko dla tego ze druga akcja dopiero po pierwszym wykonaniu została doczepiona do przycisku, czyli przy każdym kolejnym wywołaniu wykonywane były obie - ta nadrzędna jak i ta zagnieżdżona, czyli w efekcie końcowym nie było ani klasy ani napisu rozwiń.
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.