Hallo,
(zweite Antwort)
Ohne recht zu wissen was hier das array (ist wegen nur einer Farbe bei mir wahrscheinlich auch nicht notwendig) und kf.length bedeuten
habe ich einíge Sachen probiert.
Da ich ja nur ein Auswahlmenue habe, kann ich analog zum ersten Mal auf eine Variable verzichten.
Ich habe wie hier beim Ausgangsscript
(schreibe es noch einmal her)
function NeueFarbe2SVG()
{
var k,svgobj;
d=document.forms[1];
k=d.elements["nebenstr"].options[d.elements["nebenstr"].selectedIndex].value;
if(k!="Auswahl")
{
svgobj=parent.bild.document.getElementById("g1_map").getSVGDocument();
svgobj.getElementById(k).getStyle().setProperty("visibility","visible");
svgobj.getElementById(k).getStyle().setProperty("fill","#ff0000");
}
}
ja nur "nebenstr".
Ich kann mir fuer meinen Anwendungsfall nicht vorstellen daß ich ohne diese letzten drei Zeilen (svgobj.....) auskomme. Blos wie einbauen.
Ein von vielen erfolglosen Versuchen.
var d,k,kf,s.svgobj;
function NeueFarbe2SVG()
{
d=document.forms[1];
k=d.elements["nebenstr"].options[d.elements["nebenstr"].selectedIndex].value;
s=d.elements["nebenstr"].selectedIndex;
svgobj=parent.bild.document.getElementById("g1_map").getSVGDocument();
if(k!="Auswahl")
{
for(i=1;i<=kf.length;i++)
{
if(i==s)svgobj.getElementById(k).getStyle().setProperty("fill","#ff0000");
else svgobj.getElementById(kf[i-1],"k"+i).getStyle().setProperty("fill","#999");
}
}
}
//-->
</script>
mfG
josef
der aktuelle Stand (ohne dem erweiterten script)
http://www.innonet.at/~jstebegg/graz01.html
funktioniert bis jetzt jedenfalls sehr gut.