Avatar billede KenniK Nybegynder
10. juli 2013 - 09:10 Der er 6 kommentarer

Nyt billede ved klik.

Jeg har et script som egentlig virker efter hensigten.
Men jeg kan kun få den til at vise 3 billeder.
Startbillede + 2 klik....
Jeg ville gerne have den til
Startbillede + 4 klik.
Og jeg kan simpelthen ikke få den til det.
Nogle der ved hvordan?


    function changeImage1() {

        if (document.getElementById("imgClickAndChange").src == "/warning0.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning1.png";
        }

        else
        {
            document.getElementById("imgClickAndChange").src = "/warning2.png";
        }


    }
Avatar billede LeChox Nybegynder
10. juli 2013 - 09:59 #1
Har du mulighed for at bruge en 'else if'?

if (document.getElementById("imgClickAndChange").src == "/warning0.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning1.png";
        }
else if (document.getElementById("imgClickAndChange").src == "/warning1.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning2.png";
        }

        else
        {
            document.getElementById("imgClickAndChange").src = "/warning3.png";
        }
Avatar billede KenniK Nybegynder
10. juli 2013 - 15:04 #2
Det virker ikke.. den hopper bare til else.. som om den ikke er der?
Avatar billede KenniK Nybegynder
10. juli 2013 - 15:17 #3
Sludder! Det virker fint - Sorry.
Man skal bare skrive det rigtigt ;-)

MEN...

Hvordan sætter jeg så Endnu et billede på - Nu har jeg startbilledet + 3 klik..
Avatar billede LeChox Nybegynder
10. juli 2013 - 15:40 #4
Umiddelbart burde du bare kunne smide en ekstra 'else if' ind :-)

if (document.getElementById("imgClickAndChange").src == "/warning0.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning1.png";
        }
else if (document.getElementById("imgClickAndChange").src == "/warning1.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning2.png";
        }
else if (document.getElementById("imgClickAndChange").src == "/warning2.png")
        {
            document.getElementById("imgClickAndChange").src = "/warning3.png";
        }

        else
        {
            document.getElementById("imgClickAndChange").src = "/warning4.png";
        }


Skal dog siges, at dette sikkert sagtens kan laves pænere og nok også mere optimalt - f.eks. kunne man vælge at gøre brug af en switch case. Dette var bare lige den nemme løsning ud fra det du allerede havde skrevet, og når omfanget ikke er større end her, gør det sikkert heller ikke den store forskel :-)
Avatar billede KenniK Nybegynder
10. juli 2013 - 15:49 #5
Man tilføjer selvfølgelig bare en mere... Ih hvor bliver jeg klog..

MEN

Jeg har lige et tillægsspørgsmål.
Kan jeg få ELSE, altså det sidste klik, til også at nulstille en form til value- 0 ?
Avatar billede LeChox Nybegynder
16. juli 2013 - 09:06 #6
Tænker du på at sætte værdien af et element (tekstboks eller lign.)?
Hvis ja, er det sikkert noget i denne stil:

else
{
    document.getElementById("imgClickAndChange").src = "/warning4.png";

var element = document.getElementById("MitElement");
element.value = "Værdi";
}

Beklager hvis jeg har misforstået.
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