var timeOut = null; var interval = 250; $( function() { // menu principal. $('#menuPrincipal .niveau1 > a').each( function() { // hover menu. $(this).hover( function() { clearInterval(timeOut); $('#menuPrincipal .sousMenu').hide(); $('#menuPrincipal .niveau1 > a').not('.active_default').removeClass('active'); if(!$(this).hasClass('active_default')) { $(this).addClass('active'); } $(this).next('.sousMenu').show(); }, function() { var $this = $(this); timeOut = setInterval( function() { if(!$this.hasClass('active_default')) { $this.removeClass('active'); } $this.next('.sousMenu').hide(); clearInterval(timeOut); }, interval ); } ); } ); // sous menu. $('#menuPrincipal .sousMenu').each( function(index) { $(this).find('a').each( function() { $(this).hover( function() { clearInterval(timeOut); }, function() { var $this = $('#menuPrincipal .niveau1').eq(index).find('> a'); timeOut = setInterval( function() { if(!$this.hasClass('active_default')) { $this.removeClass('active'); } $this.next('.sousMenu').hide(); }, interval ); } ); } ); } ); } );