在切换function中将var设置为true / false

我有一个按钮,我希望我的变量clickclick按钮时设置为true ,而在再次单击按钮时设置为false (我想切换function)。

click == true ,我希望它输出clicked进入控制台,当click == false我想让它输出not clicked

 var click = false 

这是我的切换function:

 $('.button').toggle( function(){ click = true; $('.bmw').show(); }, function() { click = false; $('.bmw').hide(); }); 

我想要它做什么:

 if(click = true) { console.log('clicked'); } else { console.log('not clicked'); } 

当我加载页面时,控制台显示not clicked但是当我按下按钮时,它不会切换为true 。 然而,当我切换按钮时,bmw对象** .bmw显示和隐藏,因此似乎工作正常。

我究竟做错了什么?

您指定不比较click的值

你应该用== not =这样做

 if(click == true) { console.log('clicked'); } else { console.log('not clicked'); } 

但是你甚至不需要使用if(click == true) 。 实际上你可以使用if(click)代替。

编辑:从我们在评论中讨论的内容看起来你在代码首次运行时只调用一次if语句,而不是每次切换时都调用。 我建议使用if语句创建一个单独的函数,然后在切换的两个部分中调用此方法。