Kristian Skriver Jensen wrote:
> Johan Holst Nielsen <__spam__@phpgeek.dk> wrote in
>>>Her var det tanken at javascriptet skulle få navnet på img'en og
>>>sætte en ny source på, men jeg får en fejl, fordi den ikke forstå at
>>>name er argumentet...
>>
>>Jah - det er fordi du skal lave noget eval for at det virker
>>
>>Prøv at lave din funktion om til
>>
>>function mover(name,img) {
>> eval("document."+name+".src='"+img+"'");
>>}
>
> Det virker jo helt fantastisk
>
> Kan du evt. fortælle mig hvorfor?
Jah... er måske lidt svært at forklare...
Det du gør med eval er at du først ekskverer en string efter den er
bygget op.
Forstil dig du har:
<img src="whatever.foo" name="billede">
<img src="whatever.bar" name="etellerandet">
Du har nu din gamle funktion -
function mover(billede, img) {
document.billede.src = img;
}
du kalder den med
mover('etellerandet','whatever.baz');
Skal den nu hente den nu ændre billede eller etellerandet?
Derfor skal du ind og have eval - da den ellers vil hente fra billede :)
Kan ikke lige forklare det med andre ord - måske er det på grund af
stadig en vis indvirkning af gårdagens mængde af alkohol - måske blot på
grund af det er ved at være lidt sent ;)
mvh
Johan