Работа с несколькими операторами Javascript IF
-
05-07-2019 - |
Вопрос
Можно ли поместить несколько операторов 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);
});
}