Hallo Lisa,
document.write('<div style="position: [usw]
write() und writeln() arbeiten anders, als Du scheinbar annimmst -
beide Funktionen schieben sozusagen nur Inhalt an das Ende eines
gerade offenen Dokumentes (siehe open()); wenn beim ersten
write/ln()-Aufruf kein offenes Dokument existiert, wird automatisch
ein neues erstellt und die bereits bestehende Seite ersetzt - in
dieser neuen Seite befindet sich dann auch nur, was Du selbst
einsetzt, oder zuvor über open()-Parameter vorgegeben hast - also
erst einmal weder HTML-Struktur noch Hintergrundbild (besser wäre
übrigens, das Bild auch gleich via CSS einzubinden).
Grundsätzlich solltest Du write() und Konsorten also nie über einen
Eventhandler (onload, onchange etc.) auslösen (es sei denn, Du willst
beispielsweise explizit eine neue Seite in einem weiteren Fenster
öffnen - und auch dazu gibt es ganz entschieden negative Meinungen ;)
- bevor Eventhandler vom Client überhaupt interpretiert werden, ist
die Seite immer vollständig geladen (und somit nicht mehr offen).
Eine Variante wäre also, statt dem onload="" einen Skriptbereich an
der Position im HTML-Gerüst zu benutzen, wo die Linie dargestellt
werden soll.
Wenn Du unbedingt Javascript in einer rein darstellerischen Funktion
verwenden musst, dann wäre es eventuell günstiger, die Seite mit -
z.Bsp - einem schon eingebundenen und eventuell versteckten Kästchen
zu öffnen, und es dann via Javascript nur noch sichtbar zu machen und
zu duplizieren (schau Dich mal nach Javascript DOM Funktionen um);
dann liesse sich auch onload="" verwenden.