Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
带有css值的jQuery/javascript if语句_Javascript_Jquery_Css_If Statement - Fatal编程技术网

带有css值的jQuery/javascript if语句

带有css值的jQuery/javascript if语句,javascript,jquery,css,if-statement,Javascript,Jquery,Css,If Statement,我对if语句有点陌生,我正在制作一个动画,其中: 如果在css中显示“无”(不断淡入淡出),我希望淡入淡出 当在css中显示“block”时,我希望淡入 function bubbleTest(){ if($("#headlights").css("display") == "none" ) { $("#speech-bubble").fadeOut('600'); $("#speech-bubble-sun").fadeOut('600', function(){

我对if语句有点陌生,我正在制作一个动画,其中:

如果
在css中显示“无”(不断淡入淡出),我希望
淡入淡出

在css中显示“block”时,我希望
淡入

function bubbleTest(){
if($("#headlights").css("display") == "none" ) {
    $("#speech-bubble").fadeOut('600');
    $("#speech-bubble-sun").fadeOut('600', function(){
        $("#speech-bubble-dark").fadeIn('600');
    });

}   else{
        $("#speech-bubble").fadeOut('600');
        $("#speech-bubble-dark").fadeOut('600', function(){
            $("#speech-bubble-sun").fadeIn('600');              
        });

    }
}
我已经测试过了,但淡出不起作用,根据显示条件为“无”或“块”,它会显示不同的div

您建议我怎么做?

尝试替换此:

$("#headlights").css("display") == "none"
为此:

if (!$("#headlights").is(':visible'))
:visible
是一个jQuery“选择器”(如果没有,请阅读其中的文档,它们的信息量很大)。您可以使用
is()
方法执行诸如检查可见选择器是否为true之类的操作。同样,您可以对表单元素执行以下操作:

if ($('#optInCheckbox').is(':checked'))

我想你在找这个。试试看

function bubbleTest(){
   if(!$("#headlights").is(":visible")){//This will check for headlights is visible or not
      $("#speech-bubble").fadeOut(600);
      $("#speech-bubble-sun").fadeOut(600, function(){
        $("#speech-bubble-dark").fadeIn(600);
      });
   }
   else{
      $("#speech-bubble").fadeOut(600);
      $("#speech-bubble-dark").fadeOut(600, function(){
        $("#speech-bubble-sun").fadeIn(600);              
      });
}

javascript最初发布:

function bubbleTest(){
if($("#headlights").css("display") == "none" ) {
    $("#speech-bubble").fadeOut('600');
    $("#speech-bubble-sun").fadeOut('600', function(){
        $("#speech-bubble-dark").fadeIn('600');
    });

}   else{
        $("#speech-bubble").fadeOut('600');
        $("#speech-bubble-dark").fadeOut('600', function(){
            $("#speech-bubble-sun").fadeIn('600');              
        });

    }
}
bubbleTest();
令人惊讶的是,这是一个证明:


问题一定是我如何调用该函数,而我当时(5年前)没有提供该函数。

第一个气泡会很好地消失,但else语句不会消失或消失另一个气泡。你所做的肯定比我所做的要实际得多。@joe-你能更清楚你想要什么吗,我可以编辑我的答案?你能检查我编辑的答案吗?这就是你要找的吗?我刚检查了你的编辑,但它似乎不符合我的要求。在第一部分,“语音气泡暗”确实会淡入,但在动画中,当“前照灯”隐藏时,它不会在下一个语音气泡中淡入@ShankarSangoli,我可以请你去参观一下吗?我不知道这样的请求在SOF中是否有效。肯定有效,谢谢!但我的else声明没有。有什么想法吗?你调用了多少次bubbleTest函数?如果只有一次,那么它将只处理一次If块,而else可能不会发生。也许您需要在bubbleTest函数中仔细计时setTimeout调用以重复调用它?