Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przerobienie menu jQuery
Forum PHP.pl > Forum > Po stronie przeglądarki
hitmanskdm
Mam zrobione proste menu z użyciem jQuery. Potrzebuje przerobić jet tak, żeby było aktywne po kliknięciu nie najechanie /zmieniałem hover na click, ale się sypało lekko/ I żeby aktywny link był widoczny /np po wejsciu w link 2.1.4 całe menu zostawało rozwinięte/

Poniżej kod:

  1. <!DOCTYPE html>
  2. <head>
  3. <title>Test</title>
  4. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  5. nav ul {
  6. position:absolute;
  7. top:0;
  8. margin:0;
  9. padding:0;
  10. }
  11. nav li {
  12. list-style-type:none;
  13. width:100px;
  14. }
  15. nav a {
  16. color:grey;
  17. text-decoration:none;
  18. }
  19. nav a:hover,
  20. nav li.hover>a {
  21. color:black;
  22. }
  23. nav li ul {
  24. display:none;
  25. margin-left:100px;
  26. }
  27. nav.nojs li:hover>ul {
  28. display:block;
  29. }
  30.  
  31. </style>
  32. $(function(){
  33. $('nav').removeClass('nojs').find('li').has('ul').hover(function(){
  34. $(this).toggleClass('hover').children('ul').stop().fadeToggle('slow');
  35. });
  36. });
  37. </script>
  38. </head>
  39. <body>
  40. <nav class="nojs">
  41. <ul>
  42. <li><a href="#">Link 1</a></li>
  43. <li>
  44. <a href="#">Link 2</a>
  45. <ul>
  46. <li>
  47. <a href="#">Link 2.1</a>
  48. <ul>
  49. <li><a href="#">Link 2.1.1</a></li>
  50. <li><a href="#">Link 2.1.2</a></li>
  51. <li><a href="#">Link 2.1.3</a></li>
  52. <li><a href="#">Link 2.1.4</a></li>
  53. <li><a href="#">Link 2.1.5</a></li>
  54. </ul>
  55. </li>
  56. <li><a href="#">Link 2.2</a></li>
  57. <li><a href="#">Link 2.3</a></li>
  58. </ul>
  59. </li>
  60. <li>
  61. <a href="#">Link 3</a>
  62. <ul>
  63. <li><a href="#">Link 3.1</a></li>
  64. <li><a href="#">Link 3.2</a></li>
  65. <li><a href="#">Link 3.3</a></li>
  66. <li><a href="#">Link 3.4</a></li>
  67. </ul>
  68. </li>
  69. <li><a href="#">Link 4</a></li>
  70. </ul>
  71. </nav>
  72. </body>
  73. </html>
radziopoke
wystarczy że hover w linijce
  1. $('nav').removeClass('nojs').find('li').has('ul').hover(function(){
  2. $(this).toggleClass('hover').children('ul').stop().fadeToggle('slow');
  3. });

zamienisz na click. No i wtedy prawie działa tylko, że musisz jeszcze ukryć aktualnie rozwinięte pozycje menu gdyż jeżeli ich nie ukryjesz to nie ważne czy masz hover czy click to i tak obydwa mogą być aktywne razem.
Taki test wystarczy zrobić. Najedz na Link 2 a zaraz po tym na Link 3. i w miejscu gdzie powinno być podmenu pokażą ci się obydwie wersje podmenu (z Linku 2 i Linku 3)jedna na drugiej.
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.