【问题标题】:How do I write this if condition with Jquery? [duplicate]我如何用 Jquery 编写这个 if 条件? [复制]
【发布时间】:2023-03-18 00:05:01
【问题描述】:

这是我的 atm 函数:

$(document).ready(function() {

$("#knd").click(function() {
    $("#wars").animate({
        opacity:'1'
    }); 


}); 

}); 

它工作得很好,但我想添加一个选项以通过另一次单击来删除框,我想我会用 if 语句来做,但我不是 100% 了解 Jquery 中的语法。我想要一些类似的东西:

if(#wars is visible) {

$("#wars").animate({
         opacity:'0'
    }); 

我将如何为此编写 if 语句?

解决方案:

$(document).ready(function() {

$("#knd").click(function() {
if($("#wars").css('opacity') === '0') {         
    $("#wars").animate({
    opacity:'1'
    }); //end of animate
}


else {
$("#wars").animate({
    opacity:'0'
});  //end of animate
}


}); //end of KND click function
}); //end of doc ready function

我不得不更改可见性并将其设置为不透明度,然后它就像 if 语句的魅力一样。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以使用 .is():visible 选择器:

    if($('#knd').is(':visible')) {
        $("#wars").animate({
            opacity:'0'
        }); 
    }
    

    【讨论】:

    • 这行得通,但是当它可见时,它又变回不可见了..
    【解决方案2】:

    您还可以检查以下情况:

    if($('#knd').css('visibility') === 'visible') {
        $("#wars").animate({
            opacity:'0'
        }); 
    }
    

    建议的解决方案:

    if($('#wars').css('opacity') === '0') {
        $("#wars").animate({
            opacity:'1'
        }); 
    }
    

    【讨论】:

      【解决方案3】:

      您可以使用.is(':visible'),但也可以使用fadeToggle()slideToggle()

      *Toggle() 函数会自动执行您想要执行的操作,并带有效果

      【讨论】:

      • 切换由于某种原因根本不起作用..
      • 你必须使用$('#wars').fadeToggle();
      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 2022-11-29
      • 2011-12-23
      • 2016-10-25
      相关资源
      最近更新 更多