Conny: Script stoppen, bis Bilder geladen sind

<script language="JavaScript">
<!--
var hoehe
var breite
   function picsopen(picurl) {
openpic=window.open("picpop.html","Bilder","width=100,height=100,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,left=0,top=0");
openpic.document.images[0].src = ""+picurl+""; //<--- Bild wird geladen
hoehe=(openpic.document.images[0].height + 50);
breite=(openpic.document.images[0].width + 50);
openpic.resizeTo(breite,hoehe);
if(breite >= (screen.width - 100)) {
  openpic.resizeTo(screen.width - 100 , hoehe);
  breite=(screen.width-100);
}
if(hoehe >= (screen.height - 100)) {
  openpic.resizeTo(breite , screen.height - 100);
  hoehe=(screen.height-100);
}
openpic.moveTo((screen.width-breite)/2,(screen.height-hoehe)/2);
openpic.focus();
return;
}
-->
</script>

Ich möchte Bilder laden und das PopUp dann an die Bilder anpassen. Wenn aber nun das Bild noch nicht geladen ist, soll das Script warten bis das Bild fertig geladen ist und dann erst weiterarbeiten. Wie kann ich das machen? In VB wäre sowas ein Klacks für mich, aber mit JavaScript kenn ich mich nun nicht so aus. Kann mir jemand helfen?

- Conny

  1. <script language="JavaScript">

    Es soll heißen:
    <script type="text/javascript">

    Ich möchte Bilder laden und das PopUp dann an die Bilder anpassen. Wenn aber nun das Bild noch nicht geladen ist, soll das Script warten bis das Bild fertig geladen ist und dann erst weiterarbeiten. Wie kann ich das machen? In VB wäre sowas ein Klacks für mich, aber mit JavaScript kenn ich mich nun nicht so aus. Kann mir jemand helfen?

    ein bild feuert onload wenn's fertig ist. Du musst das Skript abbrechen und warten bis onload kommt (am besten auch den error abfangen.

    var img = new Image();

    img.onload = funktionsReferenz;
    img.onerror = funktionsReferenz;

    img.src = url;

    die Funktionsreferenz kann entweder:
    function fertig()
    {
       alert(this.src + ' ist fertig.');

    }

    img.onload = fertig;

    sein, oder eine Funktion:
    img.onload = function()
    {
       alert(this.src + ' ist fertig.');
    }

    Struppi.