Вам нужно будет изучить приемники событий по сравнению с обработчиками событий. Например:
// Event handlers are declared like this:
var elm = document.getElementById("someElement");
elm.onmouseover = function() {
elm.innerHTML = "OVER state has been triggered!";
}
Написанный таким образом, каждый элемент может иметь одну функцию для события.
Прослушиватели событий позволяют вам добавлять столько функций, сколько вы хотите для события. Это разные сценарии в IE и FF, но они делают одно и то же. Используя raw javascript, вы можете прикрепить такие события:
function listenFor(obj,eventName,fcnRef,bubbling) {
if(!bubbling) { bubbling= false; }
if(!obj.addEventListener) { obj.attachEvent("on"+eventName,fcnRef); }
else { obj.addEventListener(eventName,fcnRef,otherthing); }
};
function handler1() {
this.style.border = '2px solid red';
}
function handler2() {
this.style.background = 'green';
}
listenFor(elm,"over",handler1);
listenFor(elm,"over",handler2);
Библиотеки, такие как JQuery и другие, имеют аналогичные способы сделать это. Небольшое исследование и эксперименты на эту тему должны дать вам более чем достаточно информации для анимации меню и одновременного отображения всплывающей подсказки для одного и того же элемента.