Avatar billede christoffera Nybegynder
09. september 2008 - 18:49 Der er 3 kommentarer og
1 løsning

Ændre HREF- og to gange innerHTML-værdier ved onclick

Hej eksperter. Jeg er helt ny i JavaScript, og har lidt problemer med at få ændret nogle værdier ved onclick.

Jeg har en række billeder jeg henter fra en database med name="myImages". Alle dem vil jeg gerne skjule, og så printe thumbs af dem på ny i en lang række i en bar så jeg får et output som flg.: <span id="large"><img ...><img ...></span>. Under denne bar er der det første af billederne fra baren i stort format.

Når man klikker på et af billederne i baren, ønsker jeg at skifte billedet i stort format til det man klikker på (det har jeg klaret ved: onclick="changePhotoSrc(this.href);") og det virker fint.

Nu vil jeg så yderligere også gerne kunne sende det lille billedes ID og ALT til nederst på siden i:
<div id="model"></div>
<div id="beskrivelse"></div>
Dette har jeg forsøgt ved at indsætte flg. i onclick (uden held):
document.getElementById('model').innerHTML=document.images[i].alt;
document.getElementById('beskrivelse').innerHTML=document.images[i].id;
Dette virker til dels, for når jeg klikker på det lille billede bliver infoen sendt ned i de to <div>'er. Problemet er bare at det altid er ID og ALT fra det første billede i baren der bliver sendt. :s

Til sidst vil jeg også gerne ved onclick på et af de små billeder sende det lille billedes sti, ned i HREF i det anchor der rammer det store billede (<a href=\"" + document.images[i].src + "\" rel=\"lightbox[myImages]\"><img id=\"photo\" src=\"" + document.images[i].src + "\" style=\"height: 300px;\" alt=\"\"></a>).

Hvordan gør jeg det? Håber ikke det det er helt uoverskueligt, så må I lige spørge.

Min kilde:
----------
<div id="cont">
<div id="large">
<span id='bidon'><script type="text/javascript">
for(var i = 0; i < document.images.length; i++)
{
  if(document.images[i].name == "myImages")
  {

// Her forsøger jeg at skjule mit billede, og så printe det på ny

    document.images[i].style.display="none";
    document.write("<a href=\"" + document.images[i].src + "\" rel=\"lightbox[myImages]\"><a href=\"" + document.images[i].src + "\" onclick=\"changePhotoSrc(this.href);document.getElementById(model).innerHTML=document.images[i].alt;
document.getElementById(beskrivelse).innerHTML=document.images[i].id;return false;\" name=\"" + document.images[i].model + "\" id=\"" + document.images[i].beskrivelse + "\"><img src=\"" + document.images[i].src + "\" height=\"100\" alt=\"" + document.images[i].id + "\"></a></a>");
  }
}
</script></span>
</div>
<div id="photo">
<script type="text/javascript">

// Her ønsker jeg at printe det første af billederne fra <span id="large"> i større format

for(var i = 0; i < document.images.length; i++)
{
  if(document.images[i].name == "myImages")
  {
    document.write("<a href=\"" + document.images[i].src + "\" rel=\"lightbox[myImages]\" id=\"myImages\"><img id=\"photo\" src=\"" + document.images[i].src + "\" style=\"height: 300px;\" alt=\"\"></a>");
    break;
  }
}
</script>
</div>
<div style="float:right;width:350px;">
<div id="model"></div>
<div id="beskrivelse"></div>
</div>
</div>
Avatar billede roenving Novice
10. september 2008 - 06:02 #1
Hvor får du billederne fra ?-)

-- dit projekt ligner mest noget midt-90'er kodning, det lyder som om, du ved at tænke den rigtige vej vil kunne lave det i fuldt moderne DOM-kodning !-)

-- hvad med at oprette et array, der har de nødvendige oplysninger, og så skrive det ud og parse det i javascript ...

-- eller bare gøre arbejdet færdigt serverside !o]
Avatar billede christoffera Nybegynder
10. september 2008 - 11:29 #2
Billederne hentes ud i en lang række fra en database. Selvfølgelig ville det være nemmest, at få det lagt rigtigt fra starten uden at skulle bruge javascript til at placere det rigtigt, men jeg er låst i et CMS, så det er ikke muligt.

Jeg prøvede mig først frem med et array, men kunne ikke helt finde ud af at gemme stierne fra de billeder jeg har printet på siden i det.
Avatar billede christoffera Nybegynder
11. september 2008 - 10:01 #3
Lukket
Avatar billede roenving Novice
11. september 2008 - 23:06 #4
Oki ...
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