30. september 2004 - 21:25Der er
10 kommentarer og 1 løsning
Billede ændres i størrelse
Ja...beklager overskriften, kunne ikke finde noget beskrivende... Jeg har en side hvor der vises nogen "thumbnails", det er ikke helt thumb's men bare billederne skaleret ned i størrelse. Når man klikker på billedet kommer loadImages i brug. Billedet smider kilden ind og i et DIV vises billedet i dens originale størrelse.
function loadImages(kilde) { document.getElementById('stortbillede').src=kilde }
Dog må billedet max ha en bestemt bredde (x-værdi), er den mere en 480px, skal det overskydende trækkes fra. Da billedet skal beholde sine x*y forhold, trækker jeg det også fra toppen, og funktionen kommer til at se således ud:
function loadImages(kilde) { document.getElementById('stortbillede').src=kilde x=document.getElementById('stortbillede').width y=document.getElementById('stortbillede').height
if (x > 480) { toBig=x-480 Nyx=x-toBig Nyy=y-toBig document.getElementById('stortbillede').width=Nyx document.getElementById('stortbillede').height=Nyy } } Det virker også fint, men de billeder jeg trykker på efter denne, bliver automatisk skaleret til samme størrelse, ligegyldig om det er et 50x50 billede eller hvad det er. Det er som om jeg mangler at nulstille noget, og har prøvet at sætte x,y,Nyx og Nyy =0, men kan ikke få det til at fungere...nogen kloge hjerner derude?
Metoden du gør det på er jo heller ikke specielt gangbar til løsning af problemet - da den bare aflæser størrelsen på det foregående billede - gør noget ligende det her!
<script type="text/javascript"> function checkbillede(img){
var e = document.getElementById("stortbillede"); var b = new Image();
Men som jeg læser spørgsmålet skal de eventuelle små billeder på 200x200px vises i netop den størrelse, de ville jo så i dit eksempel blive skaleret op ;o)
Ja...det fungere egentligt meget godt...billedet holder åbentbart sine højde/bredde forhold. Men jeg kan ikke få det til at fungere når jeg vil ha den til at først kontrollere bredden, og derefter højden på billedet, Jeg har prøvet at bruge copy/paste og så ændre det til højde, men det kan den bestemt ikke li. Billedet må aldrig blive mere end 480x580, hvordan kringler i den?
Men du må jo finde din lommeregner frem - og finde ud af hvordan man beregner højde/breddeforhold ;o)
For et er sikkert uanset hvad, er du nødt til at skrive både bredde og højde på billedet hver gang - ellers vil billedet blive fordelt sometime/somehow
Så har jeg ígen fået tid til at få set ordentligt på det, undskyld vente tiden...Jeg ved ikke helt hvordan det fungere med b.onload, for billederne findes allerede på siden i et mindre format, og derefter kommer de over i et DIV i stor størrelse´. Jeg har prøvet frem og tilbagem, men kan stadig ikke fungere, jeg er kommet frem til:(kan godt ske det er helt galt)
<script language="JavaScript"> var mw = 480; //MAX bredde var mh = 580; //MAX højde
function checkbillede(img){ e = document.getElementById("stortbillede"); e.src=img;
e.onload = function(){ if (e.width>480 || e.height>580){ fh = Math.round(e.height/(e.width/mw)); fw = Math.round(e.width/(e.height/mh)); e.style.width = (fh<mh)?(e.width>mw)?mw+"px":e.width+"px":fw+"px"; e.style.height = (fw<mw)?(e.height>mh)?mh+"px":e.height+"px":fh+"px"; fh=0 fw=0 } } hvis der kommer et billede der er mindre end max målene viser den den fint, hvis der så kommer et billede der er for stort skalere den den også ned, men derefter viser den billeder der ellers var under max målene i samme størrelse som sidste billede der var for stort
der er ikke nogen der har lagt et svar siden 11/10 så jeg lukker nu...brok jer hvis det er:)
Synes godt om
Ny brugerNybegynder
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.