Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Twitter bootstrap - problem z dropdown i tabs
Forum PHP.pl > Forum > Po stronie przeglądarki
lukaskolista
Witam. Mam problem z dropdown buttonem. Chcialbym umiescic w nim tabs. Niestety tabs wewnatrz dropdown buttona nie dzialaja, natomiast gdy wyjme je poza przycisk to wszystko smiga jak trzeba. Prosze o porade, o ile w ogole da sie to zrobic.
  1. <div class="btn-group">
  2. <button class="btn">Szukaj</button>
  3. <button class="btn dropdown-toggle" data-toggle="dropdown">
  4. <span class="caret"></span>
  5. </button>
  6. <div class="non-propagation dropdown-menu" style="padding: 15px;">
  7. <div class="tabbable">
  8. <ul class="nav nav-tabs">
  9. <li class="active"><a href="#tab111" data-toggle="tab">Section 1</a></li>
  10. <li><a href="#tab222" data-toggle="tab">Section 2</a></li>
  11. </ul>
  12. <div class="tab-content">
  13. <div class="tab-pane active" id="tab111">
  14. <p>I'm in Section 1.</p>
  15. </div>
  16. <div class="tab-pane" id="tab222">
  17. <p>Howdy, I'm in Section 2.</p>
  18. </div>
  19. </div>
  20. </div>
  21. </div>
  22. </div>
  23.  
  24. <script type="text/javascript">
  25. // Blokowanie chowania dropdown-menu po kliknieciu w element
  26. $('.non-propagation').click(function(e) {
  27. e.stopPropagation();
  28. });
ziqzaq
Spróbuj tak:
[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. $('.dropdown-menu .nav-tabs li a').click(function(e){
  3. e.stopPropagation();
  4. });
  5. $('.nav-tabs a').click(function(e){
  6. $(this).tab('show');
  7. });
  8. });
[JAVASCRIPT] pobierz, plaintext
lukaskolista
Niestety nie dziala. Wyglada to tak, jakby bootstrap nie widzial w ogole tabsow wewnatrz dropdown-menu, tabsy wygladaja tak, jakby skrypt bootstrap-tabs.js nie byl dolaczony (oczywiscie jest dolaczony w <head> i wszystkie inne tabsy dzialaja).
ziqzaq
Sprawdziłem to w tym momencie dokładnie na kodzie który podałeś i podstawowym szablonie z bootstrap examples i wsio działa.
Najnowsza wersja bootstrapa (2.0.4).
Przeglądarki Fx13, IE8.
Sprawdź kilka razy czy nie został ci jakiś kod po testowaniu, który mógłby coś wykrzaczać. Poniżej masz szablon który testowałem:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Bootstrap, from Twitter</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta name="description" content="">
  8. <meta name="author" content="">
  9. <link href="css/bootstrap.css" rel="stylesheet">
  10. <link href="css/bootstrap-responsive.css" rel="stylesheet">
  11. <!--[if lt IE 9]>
  12. <script src="js/html5.js"></script>
  13. <![endif]-->
  14. </head>
  15.  
  16. <body>
  17.  
  18. <div class="container">
  19. <!-- TUTAJ TWÓJ KOD -->
  20. </div> <!-- /container -->
  21.  
  22. <!-- Placed at the end of the document so the pages load faster -->
  23. <script src="js/jquery.min.js"></script>
  24. <script src="js/bootstrap-transition.js"></script>
  25. <script src="js/bootstrap-alert.js"></script>
  26. <script src="js/bootstrap-modal.js"></script>
  27. <script src="js/bootstrap-dropdown.js"></script>
  28. <script src="js/bootstrap-scrollspy.js"></script>
  29. <script src="js/bootstrap-tab.js"></script>
  30. <script src="js/bootstrap-tooltip.js"></script>
  31. <script src="js/bootstrap-popover.js"></script>
  32. <script src="js/bootstrap-button.js"></script>
  33. <script src="js/bootstrap-collapse.js"></script>
  34. <script src="js/bootstrap-carousel.js"></script>
  35. <script src="js/bootstrap-typeahead.js"></script>
  36. <script type="text/javascript">
  37. $(function() {
  38. $('.dropdown-menu .nav-tabs li a').click(function(e){
  39. e.stopPropagation();
  40. });
  41. $('.nav-tabs a').click(function(e){
  42. $(this).tab('show');
  43. });
  44. });
  45. </script>
  46. </body>
  47. </html>
lukaskolista
Tabsy same w sobie dzialaja, jednak mam jeszcze problem z zaznaczeniem, ktory ma byc aktywny - klasa active nie daje efektu. Wiesz moze, co trzeba zmienic? Nie jestem mocny z frontendowych spraw, dlatego takie drobiazgi sprawiaja mi trudnosci.
ziqzaq
Klasa "active" daje efekt wink.gif
Aby tab był aktywny dodaj klasę do <li> w liście <ul class="nav nav-tabs">. Aby była widoczna określona treść tab'a dodaj klasę do <div class="tab-pane">.
Przykładowo aktywny tab #tab222 i treść #tab222:
  1. <div class="tabbable">
  2. <ul class="nav nav-tabs">
  3. <li><a href="#tab111" data-toggle="tab">Section 1</a></li>
  4. <li class="active"><a href="#tab222" data-toggle="tab">Section 2</a></li>
  5. </ul>
  6. <div class="tab-content">
  7. <div class="tab-pane" id="tab111">
  8. <p>I'm in Section 1.</p>
  9. </div>
  10. <div class="tab-pane active" id="tab222">
  11. <p>Howdy, I'm in Section 2.</p>
  12. </div>
  13. </div>
  14. </div>
lukaskolista
Nie o to mi chodzilo. Chodzilo mi o to, ze etykietka zakladki nie jest koloru niebieskiego (jak linki)
ziqzaq
Ok, rozumiem już. Trzeba dopisać odpowiednie style dla linków znajdujących się w ".dropdown-menu .nav-tabs li". Kolory to #0088CC i #555555. Reszta to podstawy css więc nie będę się już niepotrzebnie rozpisywał.
Tylko pamiętaj żeby te style były po bootstrap.css.
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.