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();
    }
}
¿Fue útil?

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);
    });
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top