Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dynamiczne menu (ie,opera,ff)
Marrbacca
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 20.01.2006

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


Mam kilka problemów dotyczących skryptu dynamicznego menu znalezionego w którymś z tematów na forum. Może na początek trochę kodu:
  1. ul {
  2. margin: 0;
  3. padding: 0;
  4. list-style: none;
  5. width: 180px; /* Width of Menu Items */
  6. border-bottom: 1px solid #ccc;
  7. }
  8.  
  9. ul li {
  10. position: relative;
  11. }
  12.  
  13. li ul {
  14. position: absolute;
  15. left: 179px; /* Set 1px less than menu width */
  16. top: 0;
  17. display: none;
  18. }
  19.  
  20. /* Styles for Menu Items */
  21. ul li a {
  22. display: block;
  23. text-decoration: none;
  24. color: black;
  25. background: #fff; /* IE6 Bug */
  26. padding: 5px;
  27. border: 1px solid #ccc;
  28. border-bottom: 0;
  29. }
  30.  
  31. /* Fix IE. Hide from IE Mac \*/
  32. * html ul li { float: left; height: 1%; }
  33. * html ul li a { height: 1%; }
  34. /* End */
  35.  
  36. ul li a:hover { color: blue; background: #f9f9f9; } /* Hover Styles */
  37.  
  38. li ul li a { padding: 2px 5px; } /* Sub Menu Styles */
  39.  
  40. li:hover ul, li.over ul { display: block; } /* The magic */


A tutaj skrypt js, z tego co zrozumiałem to jest on potrzebny do wyświetlania menu w IE:
  1. // JavaScript Document
  2. startList = function() {
  3. if (document.all&&document.getElementById) {
  4. navRoot = document.getElementById("nav");
  5. for (i=0; i<navRoot.childNodes.length; i++) {
  6. node = navRoot.childNodes[i];
  7. if (node.nodeName=="LI") {
  8. node.onmouseover=function() {
  9. this.className+=" over";
  10. }
  11. node.onmouseout=function() {
  12. this.className=this.className.replace(" over", "");
  13. }
  14. }
  15. }
  16. }
  17. }
  18. window.onload=startList;


I jeszcze deklaracja menu w dokumencie html:
  1. <ul id="nav">
  2. <li><a href="#">Pozycja 1</a></li>
  3. <li><a href="#">Pozycja 2</a>
  4. <ul>
  5. <li><a href="#">Podpozycja 1</a></li>
  6. <li><a href="#">Podpozycja 2</a></li>
  7. </ul>
  8. </li>
  9. <li><a href="#">Pozycja 3</a></li>
  10. </ul>

I teraz pytania.
1. Co zrobić, żeby można było użyć takiego menu "dwa razy" (w szablonie portalu - dwa boczne menu, w środku treść), tak, by menu wyświetlane po lewej stronie rozwijało się w praw, a menu wyświetlane po prawej stronie rozwijało się w lewo?
2. Czy taki skrypt będzie poprawnie wyświetlany w tych 3 najpopularniejszych przeglądarkach, czy raczej spróbować coś innego? Co byście radzili w takim przypadku?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 20:12