frage mich, ob jemand helfen kann.Verlust des globalen Werts in Funktion
bascially In Javascript versuche ich, die Bildgrößen eines Bildes zu erfassen, bevor es auf die Seite geladen wurde, so dass ich einige Thumbnails in einer Galerie in der Größe ändern kann.
Der Pfad funktioniert einwandfrei, der Preloader funktioniert gut, und ich kann die Breite & Höhe wird in der getWidthAndHeight-Funktion erfasst.
Mein Problem ist, ich versuche, dies zu einer globalen Variablen in anderen Funktionen zu verwenden, aber die globale Variable ist außerhalb der Funktion getWidthAndHeight verloren. (Ich habe die globale Variable am Anfang der Datei deklariert, zB var gwidth)
Ich habe nicht gedacht, aber es funktioniert alles, wenn ich den Alarm (gwidth) da drin stecke! offensichtlich schalte ich die Alarmbox nicht aus - irgendwelche Ideen, warum das nur funktioniert, wenn die Warnung drin ist, und warum der globale Wert seinen Wert verlieren könnte, wenn die Warnung deaktiviert ist?
Dank
function getWidthAndHeight() {
gwidth = this.width;
alert(gwidth);
gheight = this.height;
return true;
}
function loadFailure() {
alert("'" + this.name + "' failed to load.");
return true;
}
function getImgSize(gim_imgSrc)
{
var myImage = new Image();
myImage.name = gim_imgSrc;
myImage.onload = getWidthAndHeight;
myImage.onerror = loadFailure;
myImage.src = gim_imgSrc;
getWidthAndHeight(myImage);
alert("width is" + gwidth);
alert(testglobal);
return gwidth;
}
Warum Sie nicht über die globalen Variablen im globalen Bereich zu erklären? Es ist auch einfacher zu lesen. – thejh