Avatar billede vat69 Nybegynder
05. marts 2007 - 17:29 Der er 6 kommentarer og
2 løsninger

Skift billede ved OnClick ved hjælp af JavaScript

Hej
Jeg har en række <div> tags der ved klik åbner bestemte <span> og lukker de/den span der er åben

Div kode:

<div onclick="ShowVejledning('{ID}');">
<img src="images/op.gif">Se her</div>

Span kode:
<span class="sub_vejledning" id="{ID}">Dette er Span 1</span>

Span og hvilken Div der er klikket på bestemmes af {ID} som er et id der dynamsik bliver tildelt af en PHP funktion (det vil i browseren kunne ses som tal dvs 1 2 3 osv alt efter hvor mange spans der er)

JavaScriptet der henholdsvis åbner og lukker de pågælende spans er her:

if (document.getElementById){
    document.write('<style type="text/css">\n')
    document.write('.sub_vejledning{display: none;}\n')
    document.write('</style>\n')
}

function ShowVejledning(obj){
    if(document.getElementById){
        var el = document.getElementById(obj);
        var ar = document.getElementById("MasterDiv").getElementsByTagName("span");
        if(el.style.display != "block"){
            for (var i=0; i<ar.length; i++){
                if (ar[i].className=="sub_vejledning")
                ar[i].style.display = "none";
            }
            el.style.display = "block";
        }else{
            el.style.display = "none";
        }
    }
}

Og nu kommer det jeg søger hjælp til.
I den div man trykker på er et lille billede. Jeg kunne godt tænke mig at dette billede skifter når man har klikket på det div tag som billedet er i. Ligeledes skal det gå tilbage til det oprindelige billede hvis man klikker på en anden div eller den div som man lige har åbnet.
Jeg tror derfor det ville derfor være smart om jeg kunne bygge denne funktion ind i det javascript der åbner og lukker mine spans. Men er der nogle der kan hjælpe mig med det ?
Jeg forestiller mig at selve billedet får samme id som div og span taget så den ser sådan her ud: <img src="images/op.gif" id="{ID}"> herved kan de forskellige billeder kendes fra hinanden.

Håber på lidt hjælp, er ikke den store JavaScript haj, så bær over med mig hvis jeg skal ha noget ind med 7 tommer søm :)
Avatar billede roenving Novice
06. marts 2007 - 00:49 #1
Er det f.eks. som denne: http://www.eksperten.dk/spm/485556#rid4489881 ?-)
Avatar billede vat69 Nybegynder
06. marts 2007 - 12:23 #2
Uhh jeg er måske lidt overfordret her kan jeg se. Det er noget at et script.

Jeg tror dog du vil ha mig til at kigge nærmere på hvordan img konstrueres i scriptet
document.getElementById("o"+actId+'pic').src = "../img/plus.gif"

eller er det helt forkert, jeg kan ikke helt se mig ud af scriptet...
Avatar billede roenving Novice
06. marts 2007 - 14:42 #3
-- ja, det er det spændende punkt i forhold til din problemstilling !-)
Avatar billede vat69 Nybegynder
06. marts 2007 - 15:56 #4
Ok jeg prøver at se om jeg ikke kan få det til at fungere, har en ide´ om det nu så jeg vender lige tilbage når jeg har afprøvet det...
Avatar billede vat69 Nybegynder
21. maj 2007 - 13:33 #5
Jeg fik det aldrig til at virke men fandt en anden løsning, men jeg glemte at afslutte dette spg. SORRY men bedre sendt end aldirg :)
Hvis du vil ha point for en ekstrem lang respos tid fra mig så læg et svar :)
Avatar billede roenving Novice
21. maj 2007 - 14:12 #6
Oki '-)

-- men behold selv langt de fleste af dine point !-)
Avatar billede vat69 Nybegynder
21. maj 2007 - 14:19 #7
Ok deler den fifty fifty :)
Avatar billede roenving Novice
21. maj 2007 - 14:33 #8
-- og tak for point ;~}
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