Reihenfolgeproblem
Martin Domdey
- javascript
Hallo!
Ich habe da folgendes Reihenfolgeproblem, hier der Script:
<body onload="con()">
<script type="text/javascript">
function con() {
if (document.getElementById("cont").scrollHeight < document.getElementById("cont").offsetHeight)
{ var imgr = "imgsys"; }
else { var imgr = "imgsys2"; }
alert (imgr);
}
document.write("<table class='"+imgr+"'>");
document.write("<tr>");
document.write("<td>");
document.write("<img src='../../images/system/acheta.jpg' width='137' height='94'>");
document.write("</td>");
document.write("</tr>");
document.write("</table>");
</script>
<div id="cont" class="cont">
viel Inhalt
</div>
</body>
Das Problem ist, dass zuerst die 7 Zeilen document.write ausgeführt werden, und dann erst function con(). Allerdings darf erst function con() ausgeführt werden, nachdem der body geladen wurde (onload="con()"), weil es sich auf den div-Tag mit "viel Inhalt" bezieht.
Also erst den body-Content, dann function con() und dann erst die document.write-Zeilen. Das würde also auch heißen, dass die document.write-Tabelle unter dem body-Content erscheinen müsste.
Weiß da jemand Rat?
Danke schon mal und Grüße, Martin...
hi,
Allerdings darf erst function con() ausgeführt werden, nachdem der body geladen wurde (onload="con()"), weil es sich auf den div-Tag mit "viel Inhalt" bezieht.
Also erst den body-Content, dann function con() und dann erst die document.write-Zeilen. Das würde also auch heißen, dass die document.write-Tabelle unter dem body-Content erscheinen müsste.
Nee, das würde bedeuten, dass document.write das bisherige Dokument ersetzt.
Mach's entweder gleich "vernünftig" über DOM-Methoden (createElement, appendChild & Co.) - oder über Zuweisung des zusammengesetzten Codes an die innerHTML-Eigenschaft eines Elements.
gruß,
wahsaga
Hallo,
wenn ich es richtig sehe, möchtest du das Bild in Abhängigkeit vom cont-Div ausrichten.
Dann kannst du auch die ganze write(table)-Geschichte weglassen und das Bild, d.h. <img id="bildid" src= ...>, direkt hinter dem cont-div eintragen.
und dann in der onload-function die Position des Bildes "korrigieren"
with(document.getElementById("bildid").style) {
left= ...
top= ...
position=...
// usw
}
Gruß plan_B