Ci sono molti sensi realizzare cadono giù gli effetti del menu, la maggior parte di cui richiedono un certo genere di ritocco. Potete usare gli effetti del tasto, o rotolare sopra e srotolare gli eventi come che cosa avete fatto. Il problema con il vostro codice è le interazioni fra i tasti è abbastanza poco chiaro, per esempio aggiungete il ribaltamento di evento del tasto di superficie ad una funzione denominata floorOut. Quando è allineare che quando rotolate sopra il tasto di superficie, volete il tasto del pavimento chiuderti, comunque il senso alimentatori di evento che si aggiunge dappertutto introduce l'alto codice dell'accoppiamento e gli errori di logica.
Ho modificato il vostro codice un po'ed e gli effetti sono abbastanza giusti. Ci è un piccolo insetto comunque, quello è a volte quando spostate il mouse sopra e dal tasto troppo rapidamente, esso può concludere in su avere il mouse sopra il tasto ma il menu non è aperto. Posso vivere con quello. È fissabile ma forse non degno lo sforzo. Non sure circa il vostro cliente comunque.