Вопрос

Можно ли поместить несколько операторов IF в Javascript? Если это так, у меня возникло немало проблем с утверждением ниже. Мне было интересно, можете ли вы поместить еще один оператор IF между if (data == '' valid ') И еще ? Я хочу добавить еще один 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 (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