Предполагая, что это для каскадной навигации или чего-то подобного, я бы сделал что-то вроде ...
<style type="text/css">
ul#nav li {
position: relative;
height: 20px;
}
ul#nav li ul {
display: none;
position: absolute;
top: 20px;
}
ul#nav li.selected ul { display: block; }
</style>
<ul id="nav">
<li>
<a href="#" title="Link">Link</a>
<ul>
<li><a href="#" title="">Hi There!</a></li>
<li><a href="#" title="">Secone Nav Item</a></li>
...
</ul>
</li>
</ul>
В состоянии onmouseover ваших элементов списка вы добавили бы класс .selected к #nav таким образомвызывая отображение всех дочерних UL.Поскольку дочерние элементы UL находятся в ul # nav, ваше состояние при наведении будет оставаться активным, пока вы переворачиваете дочерние элементы.
Очевидно, что вам нужно настроить CSS так, чтобы он соответствовал желаемому виду, который вы хотите,но это общая идея.Например, если вы используете прототип js, ваш javascript будет выглядеть примерно так ...
$$('#nav li').each(function(x) {
x.onmouseover = function() { $(this).addClassName('selected'); }
x.onmouseout = function() { $(this).removeClassName('selected'); }
});