Det kan man 'sagtens', for lige at sikre at det er de oprindelige proportioner, skal vi lige en omvej:
<script type="text/javascript"> var h,w; window.onload = function(){ h = document.MyForm.Height.value; w = document.MyForm.Width.value; } function adjustPic(elm){ var f = elm.form; if(f.Maintain.checked){ switch(elm.name){ case "Height": f.Width.value = Math.round(+elm.value * w / h); break; case "Width": f.Height.value = Math.round(+elm.value * h / w); } } var st = document.getElementById('showPic').style; st.width = f.Width.value + 'px'; st.height = f.Height.value + 'px'; } </script>
roenving >> tester du sådanne scripts, når du skriver dem? Sådan bare af nysgerrighed? Jeg har en tendens til bare at skrive dem derudaf i hvert fald :)
Jeg skriver dem også bare derudaf, men den type scripts som ovenstående skriver jeg direkte i min html-editor, så jeg ved et tryk på en tast eller et ikon kan teste !-)
Men jeg har et problem, som jeg ikke lige kan løse: Funktionen skal gerne kigge på de aktuelle højde- og breddeværdier.
I visse tilfælde indeholder formen ingen værdier ved onload. Så vælger man et billede, og formen udfyldes med bredde- og højdeværdier. Hvis man så ændrer fx højden, så står der "NaN" i bredde-feltet.
I andre tilfælde indeholder formen ganske rigtigt værdier som i dit eksempel, men så vælger man et ANDET billede, og form-værdierne ændres... Og så fungerer adjustPic fint, men regner med værdierne fra det oprindelige billede :-)
Jeg har prøvet at ændre --------------- var h,w; window.onload = function(){ h = document.MyForm.Height.value; w = document.MyForm.Width.value; } --------
til blot --------- var h,w; h = document.MyForm.Height.value; w = document.MyForm.Width.value; --------
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.