Der Umgang mit mehreren Anweisungen Javascript IF
-
05-07-2019 - |
Frage
Ist es möglich, mehr IF-Anweisungen in Javascript zu setzen? Wenn ja, ich habe eine ganze Menge Ärger mit der Erklärung unten. Ich frage mich, wenn Sie eine andere IF-Anweisung in zwischen , wenn setzen können (Daten == 'gültig') und sonst ? Ich möchte eine andere , wenn Daten == 'Konzept') , um zwischen den beiden hinzuzufügen.
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();
}
}
Lösung
ist es das, was Sie suchen?
if(data == 'valid') {
// block 1
} else if (data == 'concept') {
// block 2
} else {
// block 3
}
Andere Tipps
Wenn Sie die Datenvariable beabsichtigen viele verschiedene Werte zu halten, können Sie die Switch-Anweisung eine bessere Passform für Ihre Bedürfnisse finden:
switch(data)
{
case "valid":
//stuff
break;
case "concept":
//stuff
break;
case "this": case "that":
//more stuff
break;
default:
break;
}
, dass break-Anweisungen Hinweis nach jedem Fall, dass mehrere case-Anweisungen können pro Bedingung verwendet werden, und dass es ein Haken-Call Standard Fall, dass nichts wird ausgelöst, wenn sonst abgestimmt. Die switch-Anweisung ist nichts anderes als eine kurze Version der If-Anweisung.
Sie können verwenden else if
if (data == "valid") {
// stuff here
} else if (data == "concept") {
// more stuff
} else {
// other stuff
}
nicht auf die Frage, aber Joey bat um Klärung eine anonyme Funktion mit dem Timer:
if (data == 'valid') {
$("#file").slideUp(function () {
$("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
setTimeout(function () {
$("#file").slideDown();
$('.approvedMessage').fadeOut();
}, 5000);
});
}