Lidar com várias instruções JavaScript se
-
05-07-2019 - |
Pergunta
É possível colocar várias instruções IF em Javascript? Se assim for, estou tendo uma boa quantidade de problemas com a declaração abaixo. Eu queria saber se você pode colocar outra instrução IF entre se (dados == 'válidas') e outra ? Eu quero adicionar outro se os dados == 'conceito') entre os dois.
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();
}
}
Solução
é isso que você está procurando?
if(data == 'valid') {
// block 1
} else if (data == 'concept') {
// block 2
} else {
// block 3
}
Outras dicas
Se você pretende para a variável de dados para armazenar muitos valores diferentes, você pode encontrar a instrução switch um melhor ajuste para suas necessidades:
switch(data)
{
case "valid":
//stuff
break;
case "concept":
//stuff
break;
case "this": case "that":
//more stuff
break;
default:
break;
}
Note que as declarações pausa depois de cada caso, que várias instruções caso pode ser usado por condição, e que não é um caso padrão catch-chamada que irá disparar se nada mais correspondido. A instrução switch é nada mais do que uma versão mais concisa do If.
você poderia usar else if
if (data == "valid") {
// stuff here
} else if (data == "concept") {
// more stuff
} else {
// other stuff
}
não relacionados à pergunta, mas Joey pediu esclarecimentos sobre usando uma função anônima com o seu temporizador:
if (data == 'valid') {
$("#file").slideUp(function () {
$("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
setTimeout(function () {
$("#file").slideDown();
$('.approvedMessage').fadeOut();
}, 5000);
});
}