我可以将这些嵌套的javascript“if”语句简化为一个吗?

时间:2012-05-10 08:56:44

标签: javascript jquery if-statement

所以我有两个变量,animationFlag和ajaxFlag。我还有一个函数设置,它根据浏览器对转换的支持返回true或false。我想要发生的是,如果ajaxFlag为true且animationFlag为true,它只会运行此fadein函数。但是在没有转换支持的浏览器中,animationFlag将永远不会变为true,因此我需要检查它是否支持转换,然后仅在不支持转换时检查ajaxFlag。我试着用||分开它们和&&在不同的组合中,但我真的需要这种嵌套。

单个if语句将是WAYYYY,所以,是否可以将其合并为一个?谢谢!

    function checkDone() {
        if (!supportsTransitions) {
            if (ajaxFlag) {
                setTimeout(function(){
                    fadeInModal();
                },100)
            }
        } else {
            if (ajaxFlag && animationFlag) {
                setTimeout(function(){
                    fadeInModal();
                },100)
            }
        }
    }

1 个答案:

答案 0 :(得分:9)

这应该有效

if (ajaxFlag && (animationFlag || !supportsTransitions)) {
    // ...
}