Frage

Ich muß in der Lage sein, zu warten, um eine Funktion zu starten, bis die Höhe und Breite eines Bildes zur Verfügung steht. Wenn dieser Code Anrufe starten (), sagt es noch die Höhe und Breite ist gleich Null:

var img = new Image();

init = function() {
    img.onload = this.start();
    img.src = "sky.jpg";
    }

start = function() {
    alert("Start called.\nwidth:"+img.width+"\nheight"+img.height);
    }

init();

Wie kann ich es machen warten, bis die Abmessungen sind vor dem Start () aufgerufen wird?

War es hilfreich?

Lösung

var img = new Image();

var start = function() {
    alert("Start called.\nwidth:"+img.width+"\nheight"+img.height);
}

var init = function() {
    img.onload = start;
    img.src = "sky.jpg";
} 

init();

Ändern this.start() zu start.

ich Ihre Funktionen auch scoped.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top