frameuebergreifender script bei svg
josef stebegg
- javascript
Hallo.
Ich moechte von svg aus die sichtbarkeit von Text in einem anderen Fenster steuern, finde aber keine Beispiele wie man das Fenster dazu anspricht.
das frameset im prinzip:
<FRAMESET cols="300,100%">
<FRAME marginwidth="0" border="0" name="links" src="links.html" frameBorder="0" noResize scrolling="no">
<FRAME marginwidth="0" border="0" name="bild" src="rechts.html" frameBorder="0" scrolling="yes">
"links" ist eine Datei in der der Text steht (stehen soll)
"rechts" ist die datei die die svg-datei enthaelt.
Mit Hilfe und Abschreiben habe ich eine loesungen wie mit onmouseover/out der text in der svg-datei sichtbar/unsichtbar gemacht werden kann.
<script type="text/ecmascript"><![CDATA[
function sein(evt)
{
var svgdok=evt.getTarget().getOwnerDocument();
var pname=evt.getTarget().getAttribute('id');
var ptipp=svgdok.getElementById(pname);
ptipp.getStyle().setProperty('stroke', '#f00');
var tname="t-"+pname;
var ttipp=svgdok.getElementById(tname);
ttipp.getStyle().setProperty('fill', '#f00');
ttipp.getStyle().setProperty('visibility', 'visible');
}
function saus(evt)
{
var svgdok=evt.getTarget().getOwnerDocument();
var pname=evt.getTarget().getAttribute('id');
var ptipp=svgdok.getElementById(pname);
ptipp.getStyle().setProperty('stroke', '#eee');
var tname="t-"+pname;
var ttipp=svgdok.getElementById(tname);
ttipp.getStyle().setProperty('fill', '#366');
ttipp.getStyle().setProperty('visibility', 'inline');
}
]]></script>
Das Problem ist nun das man eine svg-zeichnung auch zoomen kann und dacher der Text bald aus dem Sichtbereich verschwindet.
Das heist diese Text-Stellen mueßten im "linken" Fenster sein.
Hier habe ich noch ein demo.
http://www.innonet.at/~jstebegg/01ecma.html
danke schon einmal im voraus
mfg
josef
Hallo,
Ich moechte von svg aus die sichtbarkeit von Text in einem anderen Fenster steuern, finde aber keine Beispiele wie man das Fenster dazu anspricht.
ster sein.
...
Hier habe ich noch ein demo.
http://www.innonet.at/~jstebegg/01ecma.html
Bezogen auf dieses Frameset-Dokument probiere es im eingebundenen SVG-Dokument so:
function sein(evt)
{
top.window.parent.frames.item("links").document.getElementById("t-akad-gym").style.visibility="visible";
}
function saus(evt)
{
top.window.parent.frames.item("links").document.getElementById("t-akad-gym").style.visibility="hidden";
}
wobei item("links") als item(0) geschrieben werden kann.
BTW:
Ersetze mal in der DTD-Referenz "PR" durch "REC".
MfG, Thomas
Hallo,
Danke fuer die Vorlage, da konnte ich nichts mehr falsch machen.
Das ist dacher wahrscheinlich auch nicht mehr actuell:
Fenster dazu anspricht.
ster sein. ?
REC ... soll man das ueberall ersetzen? Ich habe bei mir auch einige WD-SVG gefunden.
danke schon mal im voraus.
mgG
josef
Hallo,
REC ... soll man das ueberall ersetzen? Ich habe bei mir auch einige WD-SVG gefunden.
Ja, der Gang einer Spezifikation ist:
WD = Working Draft
PR = Proposed Recommendation
REC = Recommendation
MfG, Thomas