JQuery标志不起作用

JQuery标志不起作用,jquery,Jquery,我确信这是一个简单的问题,并且有一个明显的答案,但事实是我无法解决它。基本上,如果单击了div,并且变量存在,则执行此操作,否则执行此操作。但这一切都不管用 想法 $("#lisea").click( var set = false; if(set) { function() { $("body").animate({ opacity:

我确信这是一个简单的问题,并且有一个明显的答案,但事实是我无法解决它。基本上,如果单击了div,并且变量存在,则执行此操作,否则执行此操作。但这一切都不管用

想法

$("#lisea").click(
            var set = false;
            if(set) {
                function() {
                    $("body").animate({
                    opacity: 1
                    }, 500);
                    var set = false;
                }
            }
            if(!set) {
                function() {
                    $("body").animate({
                    opacity: 0.25
                    }, 500);
                    var set = true;
                }
            }
        );

您需要将代码放在回调函数中,而不仅仅是作为参数。您也只是在您的条件中定义一个函数——您需要调用它

无论如何,我想这可能是你想要的:

var set = false;
$("#lisea").click(function(){
    $('body').stop().animate({
        opacity: (set) ? 1 : 0.25
    }, 500);
    set = !set;
});

这里有一个演示:

您需要在回调函数中使用代码,而不仅仅是作为参数。您也只是在您的条件中定义一个函数——您需要调用它

无论如何,我想这可能是你想要的:

var set = false;
$("#lisea").click(function(){
    $('body').stop().animate({
        opacity: (set) ? 1 : 0.25
    }, 500);
    set = !set;
});

这里有一个演示:

删除所有的“var”,它应该可以工作。您在不同的范围内声明了许多变量。
也不确定“set”是否是某个关键字。。所以最好使用其他变量名。像'if_flag_set'

删除所有'var',它应该可以工作。您在不同的范围内声明了许多变量。
也不确定“set”是否是某个关键字。。所以最好使用其他变量名。像“如果标志设置”

试试这个。。您似乎一次又一次地声明同一个变量。。 将声明移到click事件的范围之外

var set = false;
$("#lisea").click(
            if(set) {
                function() {
                    $("body").animate({
                    opacity: 1
                    }, 500);
                    set = false;
                }
            }
            if(!set) {
                function() {
                    $("body").animate({
                    opacity: 0.25
                    }, 500);
                    set = true;
                }
            }
        );

试试这个。。您似乎一次又一次地声明同一个变量。。 将声明移到click事件的范围之外

var set = false;
$("#lisea").click(
            if(set) {
                function() {
                    $("body").animate({
                    opacity: 1
                    }, 500);
                    set = false;
                }
            }
            if(!set) {
                function() {
                    $("body").animate({
                    opacity: 0.25
                    }, 500);
                    set = true;
                }
            }
        );

设置将始终为false,因为您在每次单击时都将其设置为false将当前内容单击包装到函数中。选中set variable.set将始终为false,因为您在每次单击时都将其设置为false将当前内容单击包装到函数中。选中set variable(设置变量)。或者您可以只删除函数Altogether或者您可以只删除函数Altogether(是的)。。它应该是$(“#lisea”)。单击(function(){…加上第一行set=false将继续将其设置为false。只需删除该行!(无需在外部定义。)如果您声明一个没有“var”的变量,它将变为全局变量!
set
在JavaScript中不是保留字。不过这是个好主意。是的。。它应该是$(“#lisea”)。单击(function(){…加上第一行set=false将继续将其设置为false。只需删除该行!(无需在外部定义;))如果声明一个不带“var”的变量,它将变为全局变量!
set
在JavaScript中不是保留字。不过这是个好主意。