关于javascript:如果条件与Jquery如何写这个?

How do I write this if condition with Jquery?

本问题已经有最佳答案,请猛点这里访问。

这是我的ATM功能:

1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function() {

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


});

});

它工作得很好,但是我想添加一个选项,用另一个点击来删除这个框,我想用一个if语句来删除它,但是我对jquery中的语法不是100%。我想要一些符合以下原则的东西:

1
2
3
4
5
if(#wars is visible) {

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

我该如何为这个写if语句?

解决方案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$(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语句的魅力。


可以将.is()与:可见选择器一起使用:

1
2
3
4
5
if($('#knd').is(':visible')) {
    $("#wars").animate({
        opacity:'0'
    });
}


您还可以检查以下情况:

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

建议的解决方案:

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


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

*Toggle()功能自动执行您想要执行的操作,并产生效果。