Avatar billede newcoma Nybegynder
15. august 2008 - 14:41 Der er 15 kommentarer og
1 løsning

Simpelt thumbnail gallery

Hej

Jeg er i gang med følgende script til et thumbnail galleri.

function gallery_change_image(url){
var img = document.getElementById('img-main');
img.src=url;
}

og html

<img id="img-main" src="/imageviewer/i750_500.jpg">

<ul class="imgList_s">   
<li class="active"><a class="link-block" href="#"><span class="s-img"><img onclick="gallery_change_image('/imageviewer/r85_56.jpg')"src="/imageviewer/s40_26.gif"></span></a></li>
</ul>

Jeg vil gerne have ind i funktionen at den viser det pågældende thumbnail altiså det med klassen "active".

Hvordan gør jeg det?
Avatar billede w13 Novice
15. august 2008 - 14:48 #1
Jeg er ikke helt med. Hvornår skal det vises? Prøv evt. at beskrive det præcise resultat.
Avatar billede w13 Novice
15. august 2008 - 14:48 #2
Er det bare fordi din kode ikke virker eller hvordan?
Avatar billede w13 Novice
15. august 2008 - 14:49 #3
Du mangler i øvrigt et mellemrum her:

"src
Avatar billede newcoma Nybegynder
15. august 2008 - 15:24 #4
Min kode virker men jeg vil tilføje funktionen at det thumbnail billede man har klikket på viser en hvid kan rundt om. Sat med klassen "active"
Avatar billede w13 Novice
15. august 2008 - 17:02 #5
Så skal du vel lægge class="active" på dit img-tag.
Avatar billede newcoma Nybegynder
15. august 2008 - 21:19 #6
Men mit javascript skal vel finde ud af hvad for et billede det skal sidde på?
Avatar billede w13 Novice
15. august 2008 - 22:45 #7
Jeg må indrømme, at jeg ikke helt forstår idéen. I den kode, du viser, er der jo kun ét billede. Har du ikke mere kode? Evt. et link vi kan se?
Avatar billede newcoma Nybegynder
18. august 2008 - 09:11 #8
Der skal selvfølgelig være et helt thumbnail galleri : ) Så lad os sige 10 billeder
Avatar billede w13 Novice
18. august 2008 - 09:31 #9
Jeg kan bare ikke helt forstå koden, for jeg ved jo ikke hvordan billederne er, eller hvad din CSS gør ved elementerne. For eksempel kan jeg ikke se, hvilket billede, der er dit thumbnail. Derfor kunne det være rart med et link.
Avatar billede crazysnap Seniormester
19. august 2008 - 10:06 #10
Jeg tror jeg har forstået hvad du mener, prøv at copy/paste mit eksempel nedenfor ind i en ny html fil og se om det er denne funktionalitet du mangler. Jeg har ændret billedstierne til nogle test-billeder der ligger lokalt hos mig, så disse stier skal du selvfølgelig lige ændre til nogen billeder som ligger hos dig:


----------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/TR/html401">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <style type="text/css">
            .active
            {
                border: solid 2px red;
            }
        </style>
        <script type="text/JavaScript">
            var liPrev = null;
       
            function gallery_change_image(url, imgItem)
            {
                var img = document.getElementById('img-main');
                img.src = url;
               
                if(liPrev != null)
                    liPrev.className = "";
             
                liPrev = GetLi(imgItem);
                liPrev.className = "active";
            }
           
            function GetLi(item)
            {
                while(item.nodeName.toLowerCase() != "li" && item.parentNode != null)
                    item = item.parentNode;
               
                return item;
            }
        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <img id="img-main" src="/imageviewer/i750_500.jpg" width="100" height="100" alt="" />
                </td>
            </tr>
            <tr>
                <td>
                    <ul class="imgList_s">   
                        <li><a class="link-block" href="#"><span class="s-img"><img onclick="gallery_change_image('images/test1.jpg', this)"src="images/test1_tn.jpg" alt="" width="50" height="50"/></span></a></li>
                        <li><a class="link-block" href="#"><span class="s-img"><img onclick="gallery_change_image('images/test2.jpg', this)"src="images/test2_tn.jpg" alt="" width="50" height="50"/></span></a></li>
                    </ul>

                </td>
            </tr>
        </table>
    </body>
</html>

-----------------------------------------------


Mvh.
CS
Avatar billede w13 Novice
19. august 2008 - 10:13 #11
Ok, nu ser jeg det og forstår det. Din JavaScript-funktion er også noget anderledes nu. :)

Nu siger du så, at du gerne vil have en hvid kant rundt om det thumbnailbillede, man har klikket på? Lige nu vises der jo en rød kant, så det er vel bare at ændre:

border: solid 2px red;

til:

border: solid 2px white;

Eller hvad?
Avatar billede crazysnap Seniormester
19. august 2008 - 10:24 #12
Hehe w13, tror du forvekslede mig med newcoma. Jeg har lavet det ovenstående eksempel til newcoma idet jeg tror det er den funktionalitet han søger. At jeg har lavet kanten rød og 2px er bare for at demonstrere funktionaliteten, det er nemlig ikke nemt at se en hvid kant i mit eksempel.
Jeg har desuden udvidet gallery_change_image-metoden med en ekstra parameter der gør det muligt at finde det omsluttende li-element så man kan tilføje den hvide/røde kant.  :)
Avatar billede w13 Novice
19. august 2008 - 10:24 #13
Haha. Ja. :P Jeg forstår det hele meget bedre nu.
Avatar billede w13 Novice
19. august 2008 - 10:25 #14
Og din løsning må også være det, som Newcoma mente.
Avatar billede newcoma Nybegynder
19. august 2008 - 12:54 #15
1000 tak! crazysnap --> det bør nok være dig der får point
Avatar billede crazysnap Seniormester
19. august 2008 - 13:00 #16
Det var så lidt, du får et svar her. :)

Mvh.
CS
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