Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]menu rozwijane
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


hej!
wiem ze temat na forum byl poruszany setki razy i niby cala masa na ten temat na googlach..
ale ludzie podsylaja sobie wszedzie gotowce albo proponuja dolaczenie swoich skryptow..
musze zrobic menu rozwijane (tzn. jak najade na element to ma sie pojawic lista-podmenu).
nie chce korzystac z gotowych rozwiazan ktorych jest cala masa bo nic sie wtedy nie naucze.
czy ktos z Was moglby polecic mi prosty kurs/sposob na zrobienie takiego menu? w javascript..
z gory dzieki!
i mam nadz ze nie rozzloscilam mocno moderatorow poruszajac po raz kolejny ten watek (na prawde przejrzalam wczesniej watki na ten temat na tym forum..)

pzdr!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
joshrob
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.10.2006

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


Cytat(misty @ 25.03.2007, 15:35:12 ) *
nie chce korzystac z gotowych rozwiazan ktorych jest cala masa bo nic sie wtedy nie naucze.

Cytat(misty @ 25.03.2007, 15:35:12 ) *
czy ktos z Was moglby polecic mi prosty kurs/sposob na zrobienie takiego menu? w javascript..


witam,

w przegladarkach internetowych javascript generalnie jest zbedny. w IE 6, w przypadku menu wielopoziomowego, niestety konieczny.

skoro chcesz sie uczyc a nie bezmyslnie kopiowac (co Ci sie chwali) to zamieszcze ponizej kod, ktory wlasnie napisalem. bez komantarzy i podpowiedzi. jesli znasz podstawy CSS to kod sam ci sie powinien tlumaczyc z tego co robi i zaden komentarz potrzebny nie jest.

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  3. <title>pure css dropdown</title>
  4. <style type="text/css">
  5. ul{
  6. list-style: none;
  7. padding: 0; margin: 0;
  8. }
  9. ul.level1 ul{
  10. display: none;
  11. }
  12. ul.level1 li{
  13. position: relative;
  14. float: left;
  15. }
  16. ul.level1 li a{
  17. display: block;
  18. width: 100px;
  19. height: 30px;
  20. line-height: 30px;
  21. background: #CCC;
  22. text-align: center;
  23. }
  24. ul.level1 li a:hover{
  25. background: #AAA;
  26. }
  27. ul.level1 li ul.level2{
  28. width: 100px;
  29. }
  30. ul.level1 li:hover ul.level2{
  31. display: block;
  32. }
  33. ul.level2 li ul.level3{
  34. position: absolute;
  35. top: 0;
  36. left: 100px;
  37. width: 100px;
  38. }
  39. ul.level2 li:hover ul.level3{
  40. display: block;
  41. }
  42. <script type="text/javascript">
  43. function $(id){
  44. return document.getElementById(id);
  45. }
  46.  
  47. function IE(version){
  48. if(!version) version = 'all';
  49. var msieIndex = navigator.appVersion.indexOf("MSIE");
  50. if(msieIndex == -1) return false;
  51. var ieversion = parseFloat(navigator.appVersion.substr(msieIndex + 5,3));
  52. if(version == 'all' || ieversion <= version) return true;
  53. return false;
  54. }
  55. function on(el){
  56. if(IE(6)) $(el).style.display = 'block';
  57. }
  58. function off(el){
  59. if(IE(6)) $(el).style.display = 'none';
  60. }
  61. </head>
  62. <div>
  63. <ul class="level1">
  64. <li><a href="#">item 1</a></li>
  65. <li><a href="#">item 2</a></li>
  66. <li onmouseover="on('level2');" onmouseout="off('level2');"><a href="#">item 3</a>
  67. <ul id="level2" class="level2">
  68. <li><a href="#">item 3.1</a></li>
  69. <li><a href="#">item 3.3</a></li>
  70. <li onmouseover="on('level3');" onmouseout="off('level3');"><a href="#">item 3.3</a>
  71. <ul id="level3" class="level3">
  72. <li><a href="#">item 3.3.1</a></li>
  73. <li><a href="#">item 3.3.3</a></li>
  74. <li><a href="#">item 3.3.3</a></li>
  75. <li><a href="#">item 3.3.4</a></li>
  76. <li><a href="#">item 3.3.5</a></li>
  77. </ul>
  78. </li>
  79. <li><a href="#">item 3.4</a></li>
  80. <li><a href="#">item 3.5</a></li>
  81. </ul>
  82. </li>
  83. <li><a href="#">item 4</a></li>
  84. <li><a href="#">item 5</a></li>
  85. </ul>
  86. </div>
  87.  
  88. </body>
  89. </html>


kod jest walidowalny i dziala w ff 2.0.0.3, opera 9.10, ie 6.0; ie7 nie mam pod reka, ale tez powinno dzialac, jesli nie wlacz kod javascript dla wszystkich wersji IE.

generalnie podczas takich zabaw z css pamietac zawsze nalezy o poprawnym doctype oraz w IE 6 o kolorach tla, ktorych zmiana na :hover moze niezle pomieszac.

pozdrawiam,
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 18:40