Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] rozwijane menu
Forum PHP.pl > Forum > Przedszkole
szpakoo
Zrobiłem proste rozwijane menu, ale niestety nie da się w nim kliknąć w link, który się rozwinie bo zamiast przenieść do pliku w atrybucie href tego linku to zwija te linki. Oto kod, potrzebne załączenie jquery

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4.  
  5. <script type="text/javascript" src="jquery.js"></script>
  6.  
  7. <script type="text/javascript">
  8.  
  9. $(document).ready(
  10. function()
  11. {
  12. $("#menu1").click(
  13. function()
  14. {
  15. $("#submenu1").toggle('slow');
  16. return false;
  17. });
  18. $("#menu2").click(
  19. function()
  20. {
  21. $("#submenu2").toggle('slow');
  22. return false;
  23. });
  24. $("#menu3").click(
  25. function()
  26. {
  27. $("#submenu3").toggle('slow');
  28. return false;
  29. });
  30. });
  31.  
  32. </script>
  33.  
  34. </head>
  35.  
  36. <ul id="leftmenu">
  37.  
  38. <li id="menu1">
  39. <a href="?ass" title="" >menu 1</a>
  40. <ol id="submenu1" style="display:none;">
  41. <li><a href="1a.html" title="">menu 1 - a</a></li>
  42. <li><a href="1b" title="">menu 1 - b</a></li>
  43. <li><a href="1c" title="">menu 1 - c</a></li>
  44. <li><a href="1d" title="" class="last">menu 1 - d</a></li>
  45. </ol>
  46. </li>
  47.  
  48. <li id="menu2">
  49. <a href="#" title="">menu 2</a>
  50. <ol id="submenu2" style="display:none;">
  51. <li><a href="2a" title="">menu 2 - b</a></li>
  52. <li><a href="2b" title="">menu 2 - c</a></li>
  53. <li><a href="2c" title="">menu 2 - c</a></li>
  54. <li><a href="2d" title="" class="last">menu 1 - d</a></li>
  55. </ol>
  56. </li>
  57.  
  58. <li id="menu3">
  59. <a href="#" title="">menu 3</a>
  60. <ol id="submenu3" style="display:none;">
  61. <li><a href="3a" title="">menu 3 - a</a></li>
  62. <li><a href="3b" title="">menu 3 - b</a></li>
  63. <li><a href="3c" title="">menu 3 - c</a></li>
  64. <li><a href="3d" title="" class="last">menu 3 - d</a></li>
  65. </ol>
  66. </li>
  67.  
  68. </ul>
  69.  
  70. </body>
  71. </html>


Jakby się dało jeszcze jakoś przerobić tą funkcję jquery żeby do każdego punktu list nie trzeba było dopisywać kawałka kodu JS byłoby świetnie. z góry dzięi za sugestie.
erix
return false w callbackach sprawia, że link nie zostanie otwarty.

Cytat
żeby do każdego punktu list nie trzeba było dopisywać kawałka kodu JS byłoby świetnie


Kod
$("#leftmenu > li").click(
function()
{
$("ol", $(this)).toggle('slow');
});
szpakoo
troche to przerobiłem i działa jak należy, z tym że dla każdego wpisu menu trzeba dołączyć regułke rozwijania. Teraz część menu wygląda tak:
  1. <ul id="leftmenu">
  2.  
  3. <li>
  4. <a href="masa.html" title="" id="menu1" >menu 1</a>
  5. <ol id="submenu1" style="display:none;">
  6. <li><a href="1a.html" title="">menu 1 - a</a></li>
  7. <li><a href="1b" title="">menu 1 - b</a></li>
  8. <li><a href="1c" title="">menu 1 - c</a></li>
  9. <li><a href="1d" title="" class="last">menu 1 - d</a></li>
  10. </ol>
  11. </li>
  12. <itd>

niestety
Cytat
$("#leftmenu > li").click(
function()
{
$("ol", $(this)).toggle('slow');
});

nie idzie, próbowałem to troche przerobić żeby podpasowało pod moją przeróbke, ale kiepsko idzie mi jQuery.
erix
A może kawałek kodu?
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.