11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour je fais appel a vous car j'ai un petit prob avec mon code et je viens d'y passer 3h dessus sans trouver de solutions;

Je vous explique tout ;

$('.button_slider01').click(function(){
if($('#slider01').css('left',0)){
$('#slider01').animate({'left':'600px'},600);
$('.button_slider01').css('background-image','url(../images/flechegaucheslider.png)');
}else{
$('#slider01').animate({'left':0},600);
$('.button_slider01').css('background-image','url(../images/flechedroiteslider.png)');
}
});

Pour moi sur le papier, le code semble bon, Au first click le menu s'ouvre l'image avec la fleche change de sens , OK ! par contre au 2eme click pour le fermer, il se réouvre au lieu de se fermer.>< pourtant il sort de la condition css left=0 puisqu'il est a 600, du coup il prends la condition else et l'animate de retour devrait se faire. Smiley eek

Bonne nuit a tous !
Modérateur
Bonjour,

Il faut juste bien lire la doc Smiley smile
http://api.jquery.com/css/

$('#slider01').css('left',0)
set la valeur de left à 0.

$('#slider01').css('left')
retroune la valeur de left.

Du coup il te faut récupérer la valeur puis la comparer un peu comme ça :
if($('#slider01').css('left') === '0px'){


Bonne journée