Transition CSS3 avec jQuery .addClass et .removeClass

J'ai un gros principal panneau de navigation que je veux animer lorsque c'est le déploiement (en expansion).

Je travaille avec jQuery pour déclencher la visibilité de celle-ci par l'ajout/retrait de la classe, le visible et le caché.

J'ai dû mettre un temps de retard à appliquer la classe caché parce que la gâchette est un bouton à l'extérieur de la div. (si j'ai utilisé un rollover sur le bouton, une fois que vous déploiement le panneau disparaît)

Le code est ce

$(document).ready(function() {
    $('#menu-item-9').click(function(){
        $('#repair-drop').removeClass('hidden');
        $('#repair-drop').addClass('visible');
    });
$('#repair-drop').on('mouseleave', function(e) {
    setTimeout(function() {
        $('#repair-drop').removeClass('visible').addClass('hidden');
    }, 600);        

});
});

Mon CSS est comme suit

.hidden{
    max-height: 0px;
    -webkit-transition: max-height 0.8s;
    -moz-transition: max-height 0.8s;
    transition: max-height 0.8s;

}
.visible{
    max-height: 500px;  
}

L'effet de transition ne fonctionne pas du tout.

source d'informationauteur Jaypee