如果使用Jquery条件,我该如何写这个?

时间:2014-05-08 16:46:52

标签: javascript jquery

这是我的函数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语句的魅力一样。

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

您还可以检查以下条件:

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

建议的解决方案:

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

答案 2 :(得分:1)

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

使用效果

*Toggle()功能会自动执行您打算执行的操作。