Tratar con múltiples declaraciones IF de Javascript
-
05-07-2019 - |
Pregunta
¿Es posible poner múltiples declaraciones IF en Javascript? Si es así, estoy teniendo una gran cantidad de problemas con la siguiente declaración. Me preguntaba si puede poner otra declaración IF entre if (data == 'valid') AND else ? Quiero agregar otro if data == 'concept') entre los dos.
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();
}
}
Solución
¿es esto lo que estás buscando?
if(data == 'valid') {
// block 1
} else if (data == 'concept') {
// block 2
} else {
// block 3
}
Otros consejos
Si tiene la intención de que la variable de datos contenga muchos valores diferentes, es posible que la declaración de cambio se ajuste mejor a sus necesidades:
switch(data)
{
case "valid":
//stuff
break;
case "concept":
//stuff
break;
case "this": case "that":
//more stuff
break;
default:
break;
}
Tenga en cuenta que las declaraciones de ruptura después de cada caso, que se pueden usar varias declaraciones de caso por condición, y que hay un caso predeterminado de llamada de captura que se activará si no hay nada que coincida. La declaración de cambio no es más que una versión más concisa de la declaración If.
podría usar else si
if (data == "valid") {
// stuff here
} else if (data == "concept") {
// more stuff
} else {
// other stuff
}
No relacionado con la pregunta, pero Joey pidió una aclaración sobre el uso de una función anónima con su temporizador:
if (data == 'valid') {
$("#file").slideUp(function () {
$("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
setTimeout(function () {
$("#file").slideDown();
$('.approvedMessage').fadeOut();
}, 5000);
});
}