11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour je voudrais savoir comment faire pour qu'une animation jQuery qui s'exécute lorsque la souris quitte une zone se fasse lorsque la souris quitte la zone pendant un temps donné.
Plus clairement :

" Si la souris quitte ce div pendant 2 secondes, alors tu le ferme (slideUp) "

Voici un exemple concret http://client.toogy.fr/giriad/ed2/www/

D'avance merci pour votre aide
Salut,

Tu t'es déjà renseigné sur la fonction .delay() de jQuery ?

$('#foo').slideUp(300).delay(800).fadeIn(400);
Oui mais le problème c'est que je veux que lorsque le visiteur enlève sa souris du menu et qu'il la remet avant que ça se ferme le menu ne se ferme pas Smiley ohwell

or avec delay() ca se ferme automatiquement après que le laps de temps soit écoulé. Smiley confus
Utilise plutôt du pur javascript avec un setTimeOut et un clearTimeOut.
Dès que la souris retourne sur le div tu fais un clearTimeOut.
J'ai mis le setTimeOut mais ca ne marche toujours pas :


$('#categories-children').hide();
	
$('#categories').hover(function(){
	if($('#categories-children').is(':hidden')){
		$('#categories-children').fadeIn(200);
	}
},function(){
	setTimeOut(function(){
		if($('#categories-children').is(':visible')){
			$('#categories-children').fadeOut();
		}
	},1000);
});
	
$('.categories-child').first().css('padding-top', '5px');
$('.categories-child a').first().css('border-top', 'none');
	
$('#connection').find('form').hide();
	
$('#connection').click(function(){
	$(this).find('form').show();
},function(){
	$(this).find('form').hide();
});


J'ai essayé de mettre le clearTimeOut un peu partout ca ne marche pas Smiley ohwell
Modérateur
Bonjour,

Attention aux lettres majuscules et minuscules pour le nom de la fonction : setTimeout et non setTimeOut.