Avatar billede marnox Nybegynder
14. marts 2007 - 09:31 Der er 10 kommentarer og
1 løsning

Script til visning af billede på samme side ved onclick?

På den her side kan man se et stort billede til højre og en lille stribe billeder over det, med rollover funktion lavet i css:
http://www.atra.dk/pages/projekter/agerhoej.html

Jeg søger et script til mit eksterne JavaScript dokument, der ved onclick på et af de små billeder, kan skifte billedet nedenfor (det store) og altså vise forskellige billeder på samme side - som et lille billedgalleri. Jeg vil gerne have preloads i samme script. Der vil ikke altid være 10 små billeder.

Håber, der er nogen der kan hjælpe mig, da jeg ikke selv kan skrive det. På forhånd tak :-)

/Malene
Avatar billede roenving Novice
14. marts 2007 - 10:15 #1
F.eks.

<script type="text/javascript">
//Preloader
var bigPics = [
  "ah01_full.jpg",
  "ah02_full.jpg"//osv. til alle store billeder er med
];

pics = [];
for(i=0,im=bigPics.length;im>i;i++){
  pics[i] = new Image();
  pics[i].src = bigPics[i];
}
//Preloader slut

function showBig(pic){
  document.getElementById("bigPic").setAttribute("src", pic.replace(/_gray/,"_full"));
}
</script>

-- og de små billeder:

<img src="ah01_gray.jpg" onclick="showBig(ths.src);">
<img src="ah02_gray.jpg" onclick="showBig(ths.src);">

-- osv.
Avatar billede marnox Nybegynder
15. marts 2007 - 14:22 #2
Jeg tror ikke, jeg forstår koden - har forsøgt at sætte den ind alligevel, men der sker nu ikke noget og jeg bliver bare frustreret over, at jeg ikke kan regne JavaScriptet ud. Kig her:
www.atra.dk/js/javascript.js
- til sidst i scriptet ligger din kode.

Og på http://www.atra.dk/pages/projekter/agerhoej.html ligger HTML'en, hvor jeg har forsøgt at sættedin kode ind (bør vist meget snart tage et kursus i JavaScript, så jeg kan få det grundlæggende på plads), men jeg forstår som sagt ikke koden, så er du sød at fortælle mig, hvad jeg gør galt? Er det "random" billedet, der dækker for noget, eller har jeg igen forklaret mig forkert?

/M
Avatar billede roenving Novice
15. marts 2007 - 14:29 #3
Hov, en alvorlig tavetosse:

<img src="ah01_gray.jpg" onclick="showBig(this.src);">
Avatar billede marnox Nybegynder
15. marts 2007 - 14:38 #4
Hehe ... Jeg lurede godt nok lidt på den, men da jeg ikke kender til det så meget, vurderede jeg at det måske kunne være en forkortelse ... :)
Avatar billede marnox Nybegynder
15. marts 2007 - 15:05 #5
.. men ... det ændrer nu ikke noget - jeg må have glemt noget?
Avatar billede roenving Novice
15. marts 2007 - 15:11 #6
<body onload="bundlinje(), myFunction(), init(), agerhoej(), showBig(pic);">

-- hvad er mFunction() og hvad er pic ?-)
Avatar billede marnox Nybegynder
15. marts 2007 - 15:24 #7
myFunction er mine randombilleder - som også figurerer på den her side, men som jeg da vist kan regne ud, skal fjernes :-)

pic er ... den function (function showBig(pic)) du har defineret for mig og som jeg har smidt i mit js dokument ... er det forkert? Det er måske min variabel med billederne (preloads), jeg skal loade?

Jeg beder dig bære over med mig for dumme spørgsmål ..

/M
Avatar billede roenving Novice
15. marts 2007 - 15:57 #8
Du skal sætte kaldet til funktionen ind på billederne, fra start har du vel bare defineret et start-billede ?-)

-- men pic skal jo være en tekststreng, der henviser til et billedes src-attribut, men den er jo helt overflødig onload !-)
Avatar billede marnox Nybegynder
15. marts 2007 - 17:08 #9
Ok ... så havde jeg forstået det helt forkert.

Spørgsmål: scriptet kan godt være i det eksterne js dokument, ikke? Jeg mener - her er det skrevet som en del af min header ..

Jeg tænker på, om det er derfor, det ikke fungerer for mig. At scriptet skal være i HTML dokumentet i stedet?

/M
Avatar billede roenving Novice
15. marts 2007 - 17:23 #10
Nej, hvor scriptet ligger er ligegyldigt,det ligger f.eks. godt i det eksterne dokument ...

-- men du kan jo kun kalde et element med id, hvis det har det id ...

function showBig(pic){
  document.getElementById("img12").setAttribute("src", pic.replace(/_gray/,"_full"));
}
Avatar billede marnox Nybegynder
25. maj 2009 - 11:29 #11
Ikke længere relevant
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