11540 sujets

JavaScript, DOM et API Web HTML5

Bonsoir à tous !

Voila mon problème :

Je souhaite faire une animation en deux parties. Lorsque l'on clique sur le lien, celui-ci s'agrandit, puis la div cachée apparait en slideDown. Jusque là, aucun soucis. Smiley biggrin

Mais lorsque je demande l'animation inverse, la div cachée disparait d'un coup et réaparait en slideDown, et je ne comprend pas du tout pourquoi. Voici mon code js :

jQuery(document).ready(function($) {
	$('.slideMe').hide();
   	$('#clickMe').click(function() {
   		if($('.slideMe').css('display', 'none')){
			$('#clickMe').animate({
				width:'252px'
			}, 1000, function(){
				$('.slideMe').slideDown(400);
			});
		}
		else{
			$('.slideMe').slideUp(400, function(){
				$('#clickMe').animate({
					width:'86px'
				}, 1000);
			});
		}
   		return false;
   	});
});


Une idée ?
Salut,

C'est ta condition qui foire.
La méthode .css() te renvoie ton objet jQuery et du coup ta condition est toujours remplie...
J'ai modifié ton code pour plutôt tester si ta div est visible.
Tu pourrais aussi faire un truc du genre if($('.slideMe').css('display') == 'none')...

tm
Sa fonctionne nickel, merci beaucoup !

J'avais testé avec if($('.slideMe:hidden')) mais sa foirait de la même manière...

En tout cas merci pour ta réponse rapide et bonne soirée. Smiley smile