Hay muchas maneras de alcanzar efectos del menú de persiana, más cuyo requerir una cierta clase de pellizco. Usted puede utilizar efectos del botón, o rodar encima y desarrollar los acontecimientos como qué usted lo hizo. El problema con su código es las interacciones entre los botones es absolutamente confuso, por ejemplo usted agrega la refinanciación del acontecimiento del botón superficial a una función llamada floorOut. Cuando es verdad que cuando usted rueda encima el botón superficial, usted quisiera que el botón del piso se cerrara, no obstante la manera que los tratantes de acontecimiento se agrega por todas partes introduce alto código del acoplador, y errores de lógica.
He modificado su código un poco y y los efectos son absolutamente aceptables. Hay un pequeño insecto sin embargo, ése es a veces cuando usted mueve el ratón sobre y fuera del botón demasiado rápidamente, él puede terminar para arriba tener el ratón sobre el botón pero el menú no está abierto. Puedo vivir con eso. Es fijable pero quizá no digno de el esfuerzo. No sure sobre su cliente sin embargo.