Jquery 在切换函数中将var设置为真/假

Jquery 在切换函数中将var设置为真/假,jquery,boolean,toggle,Jquery,Boolean,Toggle,我有一个按钮,我希望我的变量click在单击按钮时设置为true,再次单击按钮时设置为false,我希望切换功能 当click==true时,我希望它输出clicked到控制台,当click==false时,我希望它输出notclicked 以下是我的切换功能: $('.button').toggle( function(){ click = true; $('.bmw').show(); }, function() { clic

我有一个按钮,我希望我的变量click在单击按钮时设置为true,再次单击按钮时设置为false,我希望切换功能

当click==true时,我希望它输出clicked到控制台,当click==false时,我希望它输出notclicked

以下是我的切换功能:

$('.button').toggle(
    function(){
        click = true;
        $('.bmw').show();

    }, function() {
        click = false;
        $('.bmw').hide();

    });
我希望它做什么:

if(click = true) {
    console.log('clicked');
} else {
    console.log('not clicked');
}
当我加载页面时,控制台显示未单击,但当我按下按钮时,它不会切换为true。宝马对象**。但是,当我切换按钮时,宝马会显示和隐藏,这样看起来效果很好


我做错了什么?

您没有比较单击的值

您应该使用==not来执行此操作=

但是,您甚至不需要使用ifclick==true。实际上,您可以只使用ifclick


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

您指定的是不比较click的值

您应该使用==not来执行此操作=

但是,您甚至不需要使用ifclick==true。实际上,您可以只使用ifclick


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

这可能不是您唯一的问题,但这是代码中的一个问题。一旦你修复并测试了这个问题,你将能够看到你的代码是否还有其他问题。谢谢你这么快的回答。所以我试过了,不幸的是,这似乎不是唯一的问题。。它仍然不起作用。谢谢你!你的if声明在哪里?什么时候叫?你每次切换都要叫它吗?我每次切换都要叫它吗?我不知道。现在我在切换函数之后调用它。那么我应该把它移到切换函数中吗?@KristinaSaskia是的,每次切换时你都需要调用它,因为这是一个检查,看看这个变量此时是真是假。我会在中使用if语句创建一个单独的函数,并从切换中调用它。这可能不是您唯一的问题,但这是代码中的一个问题。一旦你修复并测试了这个问题,你将能够看到你的代码是否还有其他问题。谢谢你这么快的回答。所以我试过了,不幸的是,这似乎不是唯一的问题。。它仍然不起作用。谢谢你!你的if声明在哪里?什么时候叫?你每次切换都要叫它吗?我每次切换都要叫它吗?我不知道。现在我在切换函数之后调用它。那么我应该把它移到切换函数中吗?@KristinaSaskia是的,每次切换时你都需要调用它,因为这是一个检查,看看这个变量此时是真是假。我将在中使用if语句创建一个单独的函数,并从切换中调用它。
if(click = true) {
    console.log('clicked');
} else {
    console.log('not clicked');
}
if(click == true) {
    console.log('clicked');
} else {
    console.log('not clicked');
}