Hallo JürgenB,
seine Variante ist ein Mix aus Variante 1 und 2, die nicht funktionieren kann. Entweder switch(true)
und in den Case-Labels eine Bedingung, oder switch(wert)
und in den Case-Labels die Vergleichswerte.
Für die unit_ID 1 kommt in seinem Code zur Laufzeit heraus:
switch (1) {
case true: ...
case false: ...
case false: ...
}
und das trifft niemals zu, weil switch den Switch-Wert auf Identität mit dem Case-Label vergleicht und nicht auf Wertgleichheit (also 1 === true statt 1 == true). Es sei denn, da verhalten sich die JS-Engines unterschiedlich. In Chrome funktioniert es jedenfalls nicht.
Und wenn das gefixt ist, fliegt er mit der Zuweisung an parseFloat() auf die Nase. Das crasht derzeit nur deshalb nicht, weil keins der case-Labels zutrifft.
Insofern: "Der erste Fall in meinem Script funktioniert, die weiteren nicht mehr." würde ich gerne live und in Farbe sehen. Andernfalls halte ich das für erfunden, denn es sind 2 Fehler im Code, die das verhindern.
Rolf
sumpsi - posui - obstruxi