Se puede hacer con JS, pero da mucho trabajo. Los que están ya hechos son más bien acotados a un diseño específico, para no meter tanta línea de código.
Estuve probando algo para el que pusiste más arriba (que, por otro lado,
es una vergüenza ¡ni yo pongo borradores tan mal escritos!). Pero al final no lo terminé. Es que no dispongo de mucho tiempo frente a alguna máquina, y encima soy bastante lerdo para escribir programas.
Hace unos años casi lo hago, porque
Paranoid había empezado un tema que estaba seguro que iba a terminar en varias capas que subían y bajaban "paso a paso". Y como no lo explicó desde el principio, lo dejé que fuera avanzando solo. Creo que tiró la toalla cuando vio lo complejo que era.
CRear efecto de transicion entre dos imagenes.
Pero insisto, no es imposible de ningún modo, y ya se hizo. Vas a tener problemas con los eventos
onmouseover y
onmouseout, acá hay un tema que habla de eso
Problemas con onMouseOut
Y en los menúes de
http://www.pepemolina.com/
hay una animación de colores que hace justamente esto, al pasar el puntero sobre un botón cambia gradualmente de color, y al salir para entrar en otro, el primero vuelve paso a paso al color original mientras el segundo repite el efecto que hizo el primero. Ve cómo está hecho; y en vez de modificar el R, G o B del color, haces que cambie el
top del bloque de enlaces.
Lo demás es cuestión de CSS y HTML, hay que probar cómo se ubican mejor las capas.
efecto especial de hover en los links con CSS Efecto Para Links
P.D.: Lo de un escript para cada menú tampoco está mal, si son solamente tres. En
IE había una forma de escribir uno sólo y que se aplicara por separado a cada menú. Voy a ver si funciona y cómo se puede meter en otros navegadores.