Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 作用于变量条件的jQuery_Javascript_Jquery - Fatal编程技术网

Javascript 作用于变量条件的jQuery

Javascript 作用于变量条件的jQuery,javascript,jquery,Javascript,Jquery,请看我的小提琴 单击该按钮时,变量应更新为true,确实如此。这意味着第一个条件有效 if (opened == false){ $('.btn').on('click',function(){ opened = true; }); }; 很好,但是当您再次单击它时,变量应该更新为false。由于变量当前为“true”,因此应使用此函数将其改回false。但事实并非如此 if (opened == true){ $('.btn').on('click

请看我的小提琴

单击该按钮时,变量应更新为true,确实如此。这意味着第一个条件有效

if (opened == false){
    $('.btn').on('click',function(){
        opened = true;
    });
};
很好,但是当您再次单击它时,变量应该更新为false。由于变量当前为“true”,因此应使用此函数将其改回false。但事实并非如此

if (opened == true){

    $('.btn').on('click',function(){
        opened = false;
    });
};
由于某种原因,第二个条件函数似乎没有运行


谢谢

您需要处理程序本身的条件

$('.btn').on('click', function () {
        if (opened == false) {
            opened = true;
        } else {
            opened = false;
        }
    });
,可以表示为

$('.btn').on('click', function () {
       opened = !opened;
    });

您正在条件中添加click处理程序,而应该执行以下操作:

$('.btn').on('click',function(){
    opened = !opened; //reverse the state
});
试一试

像这样吗

$('.btn').on('click',function(){
    opened = !opened; //reverse the state
});
var opened = false;
 $('.btn').on('click',function(){
    opened = !opened;
 });

$('.state').text(opened);
$('.check').on('click',function(){
    $('.state').text(opened);
});
var opened = false;

$('.state').text(opened);

$('.check').on('click',function(){

if(opened) {
    opened = false;
} else {
    opened = true;
}
$('.state').text(opened);
});