"Carsten Suurland" <removethiscarsten@suurland.dk> writes:
> Mit problem:
> Det ser ud til, at størrelsen på mine billeder kun aflæses korrekt første
> gang...
> Efterfølgende huskes størrelsen på det første billede, hvilket betyder at
> efterfølgende billeder skaleres forkert.
>
> Koden vedlægges... Er der en guru der kan se hvad problemet er?
> N.B. Der er kun meningen at det skal fungere i IE...
> h = document.getElementById('imgPreview').height;
> w = document.getElementById('imgPreview').width;
Jeg ved ikke præcist hvad height og width aflæser, men jeg regner med
at det er elementets højde og bredde, ikke billedets. Efter at du
første gang har sat højde og bredde på elementet, så ændrer det sig
ikke bare fordi du skifter billedet ud.
Hmm, men en test siger at det ikke passer. Det virker for mig i
IE6.
Jeg antager at imgPreview er et img-element.
Kan problemet være at billedet ikke er loadet endnu? Fra du skriver
blah.src="..." til billedet er hentet og cachet kan der godt gå lidt
tid.
Jeg kan også set, at *nogle gange*, så opfatter IE ikke størrelsen af det
billede man loader, og andre gange gør den.
Hvis jeg loader et billede
x.src="
http://www.infimum.dk/privat/PicA.png"
så skifter størrelsen på img-elementet. Hvis jeg loader det samme billede
på en anden måde
x.src="
http://www.infimum.dk/privat/PicA.png?"
(bemærk ?'et til sidst), så skifter elementet *ikke* størrelse.
Det giver ca. zip mening!
Prøv evt. at lave et nyt billed-element.
var newimg = new Image();
newimg.src=" ... ";
// vent på at billedet er loadet, ved ikke helt hvordan man gør det
h = newimg.height;
w = newimg.width;
Hvis du i forvejen preloader dine billeder, så kan du sørge for at
gemme dem så du kan slå deres størrelse op.
Det kan være det hjælper (krydse-fingre etc, det her er ren sort magi)
/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:
http://www.brics.dk/~lrn/cv.html>