Définissez var sur true / false dans la fonction de basculement

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.