Avatar billede lalledenby Nybegynder
27. april 2003 - 14:33 Der er 5 kommentarer

variable ?

jeg har et link:

<a href="java script:;" onClick="updatedpic(picname)"><IMG-TAG></a>

som kalder denne javascript funktion:

function opdatepic(picname) {
document.picname.src = "./images/" + picname + ".jpg";
}

er der så en måde jeg i updatepic kan bruge variablen picname til at definere det billede som har picname som navn (name="")? det er jeg mener er:

document.picname.src = "./images/" + picname + ".jpg";

mit probleme er bare at "picname" ikke bliver "oversat", dvs det står bare står som tekst. jeg ville gerne have:

document.picname.src = "./images/" + picname + ".jpg";
til at blive til:

document.pic11.src = "./images/pic11.jpg";
hvis funktionen bliver udført:

updatedpic(pic11)

jeg har prøvet:

document. + picname + .src
document."picname".src
document."picname".src
document.("picname").src
jeg har endda forsøgt at bruge $picname i stedet for picname. Men det gav ikke den store hjælp. det virker fint på højre side:
= "./images/" + picname + ".jpg";
bliver til:
= "./images/pic11.jpg"; fx

er det fordi man ikke må definere noget med en ukendt variable ? eller bare fordi jeg ikke kender mine "og" tegn.

ps. jeg ved mine forsøg er lidt håbløse, men jeg føler mig meget på bar bund nu...
Avatar billede lalledenby Nybegynder
27. april 2003 - 14:43 #1
er det nødvendigt at jeg laver et javascript til alle billeder ?
Avatar billede =maddog= Nybegynder
27. april 2003 - 14:50 #2
i javascript er det som i andre programmerings-sprog
variabelnavn = instans; // tildeling af variabelnavn
hvis du anvender en variabel der ikke er tildelt vil den sige at den er "undefined".
desuden har variable en scope. en variabel der er tildelt inden i en funktion eller konstruktor kan kun anvendes indenfor samme.
onclick="updatedpic(picname);"
giver altså ikke mening fordi picname er undefined.
onclick="updatedpic(this.name);"
vil derimod bruge this.name, der er en instans og svarer til <img> taggets name attribut.
Avatar billede =maddog= Nybegynder
27. april 2003 - 14:52 #3
onclick skal desuden flyttes ned i <img> tagget, ellers vil det ikke give mening.
Avatar billede lalledenby Nybegynder
27. april 2003 - 15:41 #4
dvs document.this.name.src =  ??
Avatar billede =maddog= Nybegynder
27. april 2003 - 15:55 #5
nu er jeg bare SLET ikke med længere. Vil du ikke have billedet til at skifte til name attributen?
function opdatepic(picname) {
document.images[picname].src = "./images/" + picname + ".jpg";
}
og ik' andet script fra den kant
<a  href="#"
    onClick="updatedpic('hallo01')">
<IMG name="hallo01" src="default.gif">
</a>
eller evt.
<a href="#">
<IMG onClick="updatedpic(this.name)"
    name="hallo01" src="default.gif">
</a>
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

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