Attribute mit Js im SVG ändern mit mehreren IDs

Diskutiere Attribute mit Js im SVG ändern mit mehreren IDs im CSS Forum im Bereich Programmierung; Folgender Scriptaufruf ist vorhanden und die Arraylängen können beliebig ausgedehnt werden und sind immer gleich Lang. <script>...
M

Marcus1988

New member
Beiträge
2
Punkte Reaktionen
0
Folgender Scriptaufruf ist vorhanden und die Arraylängen können beliebig ausgedehnt werden und sind immer gleich Lang.
<script>
onofflight("[1,0,0,1]","[IdA,IdB,IdC,IdD]");
</script>

Folgende Funktion hab ich geschrieben in einer externen Datei die eingebunden ist. (Restlichen Funktionen gehen)
Element mit den Ids IdB,IdC sollen weiß sein und die anderen beiden Gelb (Statusarray kann sich ändern und kommt mit einer speziellen Syntax von einer S7 1200, zum Testen ist das Array fest)

function onofflight(Status,Name)
{

for(var i=0; i<4; i++)
{
if (Status =='0')
{
document.getElementById(Name).setAttribute("fill", "white");
}
if (Status =='1')
{
document.getElementById(Name).setAttribute("fill", "yellow");
}
}
}

Irgendwo ist da noch ein kleiner Fehler drin, da es nicht läuft.
 
M

Marcus1988

New member
Beiträge
2
Punkte Reaktionen
0
Folgender Code funktioniert bereits ( Spezielle Syntax, wo die SPS die Boolvariable einsetzt :="Db_fuer_Webpage".Licht_Holzlager.Read: wird dan zu 0 oder 1 und sieht dann im Inspektor so aus onofflight("0","Holzlager"); wenn das ganze in die SPS geladen wurde)
Aufgrund einer Optimierung (Performence, bzw. schnellere Übergabe bei weniger Variablen und es kann auch eine maximale Anzahl von Varibalen erreicht werden) möchte ich in der SPS einen String in der Form [x,y,z] für die Zustände bauen und ihn dann in einem Script übergeben (siehe oben)

<script>
onofflight(":="Db_fuer_Webpage".Licht_Holzlager.Read:","Holzlager");
onofflight(":="Db_fuer_Webpage".Licht_Garten.Read:","Garten");
onofflight(":="Db_fuer_Webpage".Licht_Einfahrt.Read:","Einfahrt");
onofflight(":="Db_fuer_Webpage".Licht_Garage.Read:","Garage");
</script>

mit

function onofflight(Status,Name)
{
if (Status =='0')
{
document.getElementById(Name).setAttribute("fill", "white");
}
if (Status =='1')
{
document.getElementById(Name).setAttribute("fill", "yellow");
} }
 
Zuletzt bearbeitet:
Thema:

Attribute mit Js im SVG ändern mit mehreren IDs

Oben Unten