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:
ul {
margin: 0;
padding: 0;
list-style: none;
width: 180px; /* Width of Menu Items */
border-bottom: 1px solid #ccc;
}
ul li {
position: relative;
}
li ul {
position: absolute;
left: 179px; /* Set 1px less than menu width */
top: 0;
display: none;
}
/* Styles for Menu Items */
ul li a {
display: block;
text-decoration: none;
color: black;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc;
border-bottom: 0;
}
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */
ul li a:hover { color: blue; background: #f9f9f9; } /* Hover Styles */
li ul li a { padding: 2px 5px; } /* Sub Menu Styles */
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:
// JavaScript Document
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;
I jeszcze deklaracja menu w dokumencie html:
<li><a href="#">Pozycja 1
</a></li> <li><a href="#">Pozycja 2
</a> <li><a href="#">Podpozycja 1
</a></li> <li><a href="#">Podpozycja 2
</a></li> <li><a href="#">Pozycja 3
</a></li>
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?