Avatar billede deamill Nybegynder
21. marts 2011 - 11:56 Der er 1 kommentar og
1 løsning

Problemer med div size ved langsom load af billede

Hej,

Jeg har en div, her i har jeg et IMG (billede). Via af et java script gør jeg dette billede (div'en) synligt når man klikker på et link.

I den function jeg har sizes diven alt efter hvor stort det loadede billede er.

Det giver det problem, at hvis man trykker så hurtigt på linked, at billederne ikke er blevet preloaded helt, så laver den en meget lille div.

Kan man f.eks. lave en event som hedder "når billede er loaded", fordi så kan jeg jo bare her resize min div? Går jeg ud fra, eller er der en anden måde?



Dette er en del af min java kode (eller dvs. koden er fra nettet af):

    //Getting parameter image
    var loadImage = new Image();
    loadImage.src = imgSrc;


    //Assigning image to src emement
    _ImagElem.src = loadImage.src;


    //Setting size on child DIV which contains the image element
    _ImageFrameElemChild.style.width = (loadImage.width+10) + 'px';
    _ImageFrameElemChild.style.height = (loadImage.height+10) + 'px';

    //Set size of src element
    _ImagElem.style.width = loadImage.width + 'px';
    _ImagElem.style.height = loadImage.height + 'px';


    //Makes the main frame (DIV) visible (it is always size 100%)
    _ImageFrameElem.style.visibility = 'visible';

    //Makes the child DIV visible
    _ImageFrameElemChild.style.visibility = 'visible';

    //Displays src element
    _ImagElem.style.visibility = 'visible';



På forhånd tak.

Kenneth
Avatar billede intenz Novice
21. marts 2011 - 14:03 #1
Du kan sætte en onload event på billedet. Den vil blive kørt når billedet er hentet.

Ændre:
var loadImage = new Image();

til:
var loadImage = new Image();
loadImage.onload = function () {
  // resize din div
};
...resten af koden
Avatar billede deamill Nybegynder
21. marts 2011 - 15:17 #2
Takker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester