Avatar billede meltinis Nybegynder
04. maj 2005 - 13:33 Der er 3 kommentarer og
1 løsning

Finde Width på billede - max-width i IE

Hej, Jeg har en side hvor jeg egentlig skal bruge max-width i CSS, men den virker selvfølgelig ikke i IE...
Derfor har jeg fundet dette script:

width:expression(document.body.clientWidth > 450? "450px": "auto" );

Problemet er bare at den tager det i forhold til bredden på skærmen og ikke på det billede jeg har sat ind.
Kan man finde bredden på et billede uden at have defineret det selv?
Har forsøgt med document.getElementById("maks").style.width, men der skal man selv have defineret det først. Jeg skal bare ikke have mit billede til at være mere end 450 px i bredden!!!
Avatar billede meltinis Nybegynder
04. maj 2005 - 13:58 #1
Nu er det ikke for at være kedelig, men jeg har selv fundet løsningen.

    Først oprettes et imageobjekt
    Derefter hentes url til billedet ind i objektet
    og tilsidst sættes bredden hvis den er > 450 */
    width:expression(
    image = new Image()
    image.src = document.getElementById("maks").src
    image.width > 450? "450px": "auto" );

    /*Andre browsere*/
    max-width: 450px;

Tak for tiden hvis der er nogen der har brugt noget på denne opgave :) Sorry
Avatar billede meltinis Nybegynder
04. maj 2005 - 13:59 #2
Det skal lige tilføjes at image tag'et i html-koden skal have ID="maks" i dette tilfælde.
Avatar billede olebole Juniormester
06. maj 2005 - 14:54 #3
<ole>

Nu er det ikke for at være kedelig, men koden kan næsten ikke blive ringere  :)

with er uhensigtsmæssigt at anvende i JS, da den performer dårligt. Derfor ser du den næsten aldrig anvendt i JS ... i modsætning til VB.

Derudover er 'expression' noget af IE's dårligst performende kode, overhovedet. Browseren beregner konstant hele siden og bruger derved alt for mange resourcer.

/mvh
</bole>
Avatar billede meltinis Nybegynder
07. maj 2005 - 00:02 #4
Men du skal da være velkommen til at komme med noget kode der performer bedre - det kan man næsten aldrig få nok af :) Mit problem er bare at jeg har behov for at kunne styre min bredde fra CSS - og så kan jeg ikke se en anden løsning på IE's manglende max-width... Kan man lave funktionen i javascript-koden og så bestemme den fra CSS?
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