Avatar billede whynot Nybegynder
20. juni 2012 - 19:59 Der er 7 kommentarer og
1 løsning

ajax image vælger

Jeg har lavet et simpelt billede galleri, som jeg gerne vil udbygge til at mine besøgende kan vælge en række af billederne ved at klikke på dem eller en checkbox nedenfor.. og efterfølgende sætte dem sammen som et sæt af billeder som sammen danner en lille historie.

MEN.. når man trykker på billederne vil jeg gerne at de kommer til at vise sig øverst i skærmbilledet fra venstre til højre.. giver det mening? Altså at når man vælger et billede i galleriet at det så efterfølgende bliver vist som en lille comic stribe øverst på siden fra venstre til højre... og dette uden reload.!

Tænker at ajax kan hjælpe mig.. men HVORDAN?! er der nogen der har noget jeg kan tage udgangspunkt i?
Avatar billede whynot Nybegynder
20. juni 2012 - 21:17 #1
Jeg kunne forestille mig at det kunne løses ved at jeg ligger billedernes id'er ind i et array og at jeg med ajax gennemløber arrayet og henter billederne som det beskriver.. hvordan henter jeg billeder på baggrund af et array med ajax?
Avatar billede olebole Juniormester
20. juni 2012 - 22:36 #2
<ole>

Som jeg læser dit spørgsmål, kan jeg ikke se, hvad du skulle bruge Ajax til. Løsningen er vel bare helt elementært HTML/JavaScript - eller også har jeg måske misforstået opgaven(?)  =)

/mvh
</bole>
Avatar billede whynot Nybegynder
20. juni 2012 - 23:07 #3
Jamen jeg bliver vel nød til at bruge ajax til at loade indhold(billederne) efterhånden som brugeren vælger mellem billederne..

så steppene bliver:

1) bruger trykker på et billede.
2) billedet bliver tilføjet et javascript array med noget lignende: array_billeder[array_billeder.length] = nyt_billede_id
3) ajax scriptet loader det valgte billede der lige er blevet lagt ind i arrayet og viser det på skærmen uden at lave et reload.

Så udfordringen bliver at kunne loade billeder på baggrund af et dynamisk array uden reload.
Avatar billede olebole Juniormester
21. juni 2012 - 00:35 #4
Det har intet med Ajax at gøre. Det er helt elementært JavaScript fra WWW's barndom  =)

Med lidt mere moderne DOM ser princippet ud i stil med:

<script type="text/javascript">
function loadPic(e) {
    var elmSrc = e.target||e.srcElement,
    elmDispl = document.getElementById("display"),
    oImg = document.createElement("img"),
    src = elmSrc.getAttribute("src").replace("th_", "");
    oImg.setAttribute("src", src);
    elmDispl.appendChild(oImg);
}
</script>

<div id="display"></div>

<hr>

<div onclick="loadPic(event)">
    <img src="images/th_pic_1.jpg" alt="">
    <img src="images/th_pic_2.jpg" alt="">
    <img src="images/th_pic_3.jpg" alt="">
    <img src="images/th_pic_4.jpg" alt="">
    <img src="images/th_pic_5.jpg" alt="">
    <img src="images/th_pic_6.jpg" alt="">
</div>

Forudsat dine billeder og thumbnails ligger i en mappe, der hedder images - og at dine thumbnails er prefixed med th_ ... f.eks: th_pic_1.jpg og pic_1.jpg.
Avatar billede olebole Juniormester
21. juni 2012 - 00:37 #5
- og en lille rettelse til funktionen:

function loadPic(e) {
    var elmSrc = e.target||e.srcElement;
    if (elmSrc.nodeName.toLowerCase()!="img") return;
    var elmDispl = document.getElementById("display"),
    oImg = document.createElement("img"),
    src = elmSrc.getAttribute("src").replace("th_", "");
    oImg.setAttribute("src", src);
    elmDispl.appendChild(oImg);
}
Avatar billede whynot Nybegynder
21. juni 2012 - 10:17 #6
okaaaaaaay.. COOL!

Mange tak!!! :)

Smid et svar, så får du points :)
Avatar billede olebole Juniormester
21. juni 2012 - 13:23 #7
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede whynot Nybegynder
07. oktober 2012 - 00:23 #8
svar
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