J’ai un bouton et je veux que ma variable click
soit définie sur true
lorsque l’utilisateur clique sur le bouton et sur false
lorsque l’utilisateur clique de nouveau sur le bouton (je souhaite activer la fonctionnalité).
Lorsque vous click == true
, je veux que le résultat soit clicked
dans la console et lorsque vous click == false
je souhaite que le résultat not clicked
.
var click = false
Voici ma fonction de bascule:
$('.button').toggle( function(){ click = true; $('.bmw').show(); }, function() { click = false; $('.bmw').hide(); });
Et ce que je veux que ce soit:
if(click = true) { console.log('clicked'); } else { console.log('not clicked'); }
Lorsque je charge la page, la console indique que l’utilisateur not clicked
mais lorsque j’appuie sur le bouton, il ne bascule pas sur true
. Les objects bmw ** .bmw
sont toutefois affichés et .bmw
lorsque je bascule le bouton, ce qui semble fonctionner correctement.
Qu’est-ce que je fais mal?
Vous assignez ne pas comparer la valeur de clic
Vous devriez faire cela avec ==
pas =
if(click == true) { console.log('clicked'); } else { console.log('not clicked'); }
Cependant, vous n’avez même pas besoin d’utiliser if(click == true)
. Vous pouvez en fait simplement utiliser if(click)
place.
EDIT: D’après ce que nous avons discuté dans les commentaires, il semblerait que vous n’ayez appelé l’instruction if qu’une seule fois lors de la première exécution du code, et non à chaque fois que vous avez basculé. Je suggère de créer une fonction séparée avec l’instruction if à l’intérieur, puis d’appeler cette méthode dans les deux parties de la bascule.