Thanks to my friend Miha Hribar, we now have the solution to that problem.
It finds the navigation by using the Element By Id and the loops though all the child li tags (perhaps child tags is not the best analogy here, as the loop goes through all the li tags under the current ul node, wich in fact means all decendants of the parent).
For every li tag it searches for a child ul tag, wich means that the list element has a sublist (or in our case a submenu).
So we will position the second level navigation a little above the first level (as shown in the picture before), and the third level little above the second level (it looks just cool to me :). If we use margins to move apart the elements, we won’t see the problem until we would like to remove the elements in the second and every next level of navigation.
We don’t want to show the second level navigation until the mouse goes over the navigation element that has the submenu (Projects). If we use to remove these elements, the elements will disappear because we would have a gap between them.
We could position the second level navigation with top and left, and this will work just fine in Firefox.
Because of instead (I will show you why is this very important later in this article).Miha resolved the problem by writing a nice snippet of Java Script code that resolves the problem of not displaying the third level submenu and so on.Here is what Miha says: “The js snippet is very simple in its self.Because the first level list has the ID #menu if we want to define a style for the next level we must use , but this way we keep it a bit shorther).Okay, now this is a tricky part which had me thinking a lot.After I managed to create and display a j Query dialog using the $().dialog() function, I wanted to replace my ad-hoc validation code with a “real” validation plugin, namely j Query Validation.