Text zwischen Layer im Netscape und (!) Internet Explorer ändern
Lars Scholand
- javascript
Hallo Leute,
weiter unten im Forum habe ich folgendes gefunden:
function Aendern() {
document.layers['meinAbsatz'].visibility = "hidden";
document.layers['meinAbsatz'].document.open();
document.layers['meinAbsatz'].document.write("neuer text");
document.layers['meinAbsatz'].document.close();
}
<div id="meinAbsatz">Text</div>
aber Netscape sagt dazu immer, dass meinAbsatz keine Eingeschaften hätte.
Im IE funtkioniert es mit
document.all.meinAbsatz.innerText = "Neuer Text";
wunderbar.
Danke,
Lars
Hi
Damit Netscape das div als layer sieht, musst du auch style Angaben machen!
Also ungefaehr so:
<div id="meinAbsatz" style="position:absolute;top;10;left:10;">...
Dann muesste dein Code funktionieren. Falls nicht, kann es auch an dem Quelltext drumherum liegen, da NS bei layern sehr empfindlich auf alles reagiert (wie z.B. nicht geschlossene Tags!)
Um dir in diesem Fall weiterzuhelfen, graeuchte man ein URL oder (falls nicht zu lang) deinen ganzen Quelltext. (Auch die CSS Angaben!)
Tschau Holger
Hi,
Holger wenn ich die Positionsangaben mach funktioniert es. Bloss dann habe ich ein anderes Problem:
Es ist eine Berechnung wo man Werte auswählen kann, die Summe darf aber einen bestimmten Wert nicht überschreiben. Daher möchte ich den Benuzter darauf aufmerksam machen und zwar irgendwie mit einem Satz wie, "Sie haben noch weitere 500 mm zur Verwendung frei". Und dieser Satz sollte dann in das HTML-Dokument rein. Es wird aber mit den Positionsangaben schwer. Da es im Netscape Internet Explorer und jeweils am Mac und IE funktionieren muss. Wenn ich dann die Styles benutze, ist es in jedem Browser/System an einer anderen Stelle.
Am liebsten wäre mir daher dann, dass das Objekt sich unter einem anderen Text im HTML-Text befinden würde,
Thx
Lars
Hi Lars
Da hast du ein Problem. Denn NS kann meines wissens nach nur absolut positionierte Layer neu beschreiben, bei relativ positionierten layern gibt es meist Probleme.
Die einzige Moeglichkeit die du hast, ist die Position eines Elementes abzufragen, was direkt vor dem layer steht, wie z.B. eines Bildes, oder eines links.
In NS kann man das mit document.imagename.x (document.imagename.y), und wie man im IE sowas abfragt steht hier: <../../tecbba.htm#a17>
Nach der Abfrage musst du dann dem layer dynamisch die richtige position zuweisen:
NS:
document.layername.top=..
document.layername.left=..
IE:
document.all.layername.style.top=..
document.all.layername.style.left=..
Tschau Holger