質問

Javascriptに複数のIFステートメントを挿入することは可能ですか?もしそうなら、私は以下の声明でかなりの量のトラブルを抱えています。 if(data == 'valid')AND else の間に別のIFステートメントを挿入できるかどうか疑問に思っていましたか? 2つの間に別の if data == 'concept')を追加します。

if (data == 'valid') {
    $("#file").slideUp(function () {
        $("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
        setTimeout(ApprovedProof, 5000);
    });

    function ApprovedProof() {
        $("#file").slideDown();
        $('.approvedMessage').fadeOut();
    }

}
else {

    $("#file").slideUp(function () {
        $("#file").before('<div class="deniedMessage">NO NO NO!</div>');
        setTimeout(DeniedProof, 5000);
    });

    function DeniedProof() {
        $("#file").slideDown();
        $('.deniedMessage').fadeOut();
    }
}
役に立ちましたか?

解決

これはあなたが探しているものですか?

if(data == 'valid') {
    // block 1
} else if (data == 'concept') {
    // block 2
} else {
    // block 3
}

他のヒント

データ変数に多くの異なる値を保持する場合は、switchステートメントがニーズにより適している場合があります。

switch(data)
{
  case "valid":
     //stuff
     break;
  case "concept":
     //stuff
     break;
  case "this": case "that":
     //more stuff
     break;
  default:
     break;
}

各ケースの後のbreakステートメント、条件ごとに複数のcaseステートメントを使用できること、および他に一致するものがない場合に起動するcatch-callデフォルトケースがあることに注意してください。 switchステートメントは、Ifステートメントのより簡潔なバージョンにすぎません。

else if

を使用できます
if (data == "valid") {
    // stuff here
} else if (data == "concept") {
    // more stuff
} else {
    // other stuff
}

質問とは無関係ですが、ジョーイはタイマーで匿名関数を使用することの明確化を求めました:

if (data == 'valid') {
    $("#file").slideUp(function () {
        $("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
        setTimeout(function () {
            $("#file").slideDown();
            $('.approvedMessage').fadeOut();
        }, 5000);
    });
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top