2012-05-10 9 views
0

私はanimationFlagとajaxFlagの2つの変数を持っています。私はまた、トランジションのブラウザサポートに基づいて真または偽を返す関数設定を持っています。私は、ajaxFlagがtrueで、animationFlagがtrueの場合にのみ、このfadein関数を実行するということです。しかし、トランジションをサポートしていないブラウザでは、animationFlagは決して真実にならないので、トランジションをサポートしているかどうかを確認し、トランジションがサポートされていない場合にのみajaxFlagをチェックする必要があります。私は||でそれらを分離しようとしたさまざまな組み合わせで& &ですが、実際にはこの入れ子が必要です。これらのネストされたJavaScriptのif文を簡略化することはできますか?

単一のif文はWAYYYYといいでしょう。したがって、それを1つに結合することは可能ですか?ありがとう!

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

答えて

9

これは

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

恐ろしい男を動作するはずです!私はあなたがそのようなかっこでそれらを分けることができたことを理解していませんでした。 – alt

+0

それはあなたのために働いたことを聞いて偉大な。常に喜んで助けてください。 :Dこの変更についてもお勧めします: 'setTimeout(fadeInModal、100);'? 'fadeInModal'が引数を取らない場合は、余分な関数呼び出しのオーバヘッドも節約できます。 :) –

+0

ありがとうございました!私は匿名の関数を使っています。私はJSで吸う。 – alt

関連する問題