Avatar billede thb Nybegynder
04. marts 2004 - 20:16 Der er 5 kommentarer og
1 løsning

Billed str

Hej alle

Jeg har noget kode som jeg ikke kan få til at virke helt..
Jeg har en drop down menu hvor man kan vælge et billed, når man vælge et så bliver denne kode kørt..

txtURL.value = txtURLi.options[txtURLi.selectedIndex].value;
document.getElementById("previewImg").src = txtURLi.options[txtURLi.selectedIndex].value;

maxWidth = 200;

if(document.getElementById("previewImg").width>maxWidth)
  document.getElementById("previewImg").width = maxWidth;

document.getElementById("previewImg").style.visibility = "visible";

Længere nede på siden har jeg så:

<img id="previewImg" src="" style="visibility:hidden;"/>

Problemet er så at første gang man vælger et billed så bliver størrelsen ikke ændret, det sker først anden gang...

Er der nogle der kan hjælpe.. ??

Thomas
Avatar billede grunken Nybegynder
04. marts 2004 - 21:43 #1
Hvofor sætter du ikke bare en fast bredde på dit img-tag ?

så er den fikset :-)

<img id="previewImg" src="" style="visibility:hidden;width:200px"/>

og funktionen skal så bare se ud som følger


txtURL.value = txtURLi.options[txtURLi.selectedIndex].value;
document.getElementById("previewImg").src = txtURLi.options[txtURLi.selectedIndex].value;

document.getElementById("previewImg").style.visibility = "visible";


Dette dit script egentligt gør (dog uden at være særligt korrekt javascript), er at aflæse bredden på det forrige billede i elementet :o)

Men hvis du virkeligt mener at det er en nødvendighed at køre en funktion der ændrer elementets bredde on-the-fly, kan det da sagtens laves, men i dit eksempel vil det da være overkill!
Avatar billede thb Nybegynder
04. marts 2004 - 23:31 #2
:)

Det var egentlig fordi at jeg ville tjekke om skulle resizes, for hvis billedet er 16x16 så ser det ikke fedt ud af have det i 200x200 lige pludselig..

Derfor det script.. Meningen i starten var egentlig også at tjekke bredde også men det gik jeg væk fra..

Thomas
Avatar billede grunken Nybegynder
05. marts 2004 - 00:52 #3
godt så :o), så er jeg lidt mere på sporet :-)

Dette burde gøre det forventede :o) (ganske utestet)

<script type="text/javascript">
var MaxWidth = 200;
var pic = new Image();


function etellerandet() {
txtURL.value = txtURLi.options[txtURLi.selectedIndex].value;

pic.onload = new Function("indsaet();")
pic.src = txtURLi.options[txtURLi.selectedIndex].value;

}

function visbillede(){
elm = document.getElementById('previewImg');

if(pic.width>MaxWidth)
  elm.style.width = MaxWidth + "px";
else
  elm.style.width = pic.width + "px";
  elm.src = pic.src
  elm.style.visibility = "visible"
}
</script>

<body>
<img src="billede.jpg" id="previewImg" style="visibility:hidden"/>


<select onchange="etellerandet">

.... o.s.v.
</body>
Avatar billede thb Nybegynder
05. marts 2004 - 01:01 #4
Det ser meget fedt ud... Jeg får nok først testet det efter weekenden, men hvis du smider et svar så er det hvertfald klaret.. :)

Thomas
Avatar billede thb Nybegynder
01. april 2004 - 13:55 #5
Kan du ikke ligge et svar
Ellers så lukker jeg.. :)

Thomas
Avatar billede grunken Nybegynder
04. april 2004 - 16:46 #6
Så smider jeg et svar :o)

men fik du banditten testet ?
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