Avatar billede kaptajnknas Nybegynder
30. maj 2007 - 10:46 Der er 18 kommentarer og
1 løsning

Rettelse af java-script

Hej, dette lille script virker, men man skal klikke 2 gange på linket, nogen der kan rette dette, så et klik er nok?

<a href="#" onClick="document.getElementById('test').style.visibility='visible'">Klik her</a><br>
<div id="test" style="visibility: hidden;"><b>Dette er en test:</b></div>
Avatar billede olebole Juniormester
30. maj 2007 - 13:08 #1
<ole>

Med dén kode skal du da kun klikke én gang. Hvad er problemet?  =)

/mvh
</bole>
Avatar billede kaptajnknas Nybegynder
30. maj 2007 - 13:42 #2
I IE6 skal jeg klikke 2 gange.
Avatar billede w13 Novice
30. maj 2007 - 13:44 #3
Lyder underligt.. Men hvad hvis du bruger void(0)?
<a href="java script:void(0);" onClick="document.getElementById('test').style.visibility='visible'">Klik her</a><br>
<div id="test" style="visibility: hidden;"><b>Dette er en test:</b></div>
Avatar billede kaptajnknas Nybegynder
30. maj 2007 - 13:54 #4
Det virker. Tak for hjælpen :)
Avatar billede w13 Novice
30. maj 2007 - 13:57 #5
Det var så lidt. :)
Avatar billede olebole Juniormester
30. maj 2007 - 14:16 #6
Tja ... dit eget eksempel virker fint med ét klik i en ganske almindelig opdateret IE6 - så du har nok lavet nogle andre fejl  =)
Avatar billede kaptajnknas Nybegynder
30. maj 2007 - 14:45 #7
:-)
Avatar billede roenving Novice
30. maj 2007 - 16:09 #8
-- eller:

;return false; til sidst i onclick på linket !-)
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 12:45 #9
Kunne være smart, hvis man kunne klikke på "Åben tekst her", og "Luk tekst her".
Avatar billede olebole Juniormester
31. maj 2007 - 12:52 #10
function toggle(o, sId) {
    var vis = document.getElementById(sId).style=="visible" ? "hidden" : "visible";
    document.getElementById(sId).style.visibility = vis;
    o.firstChild.nodeValue = vis=="hidden" ? "Åben her" : "Luk her";
}

<a href="#" onClick="toggle(this, 'test');return false">Klik her</a><br>
<div id="test" style="visibility: hidden;"><b>Dette er en test:</b></div>
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 13:57 #11
Virker ikke helt :(, viser kun et link: klik her

Men faktisk var tanken om linket viser klik her for at åbne, og når teksten er åbnet, viser linket: klik her for at lukke
Avatar billede olebole Juniormester
31. maj 2007 - 14:11 #12
var vis = document.getElementById(sId).style.visibility=="visible" ? "hidden" : "visible";

- sæ'fø'li'  =)
Avatar billede olebole Juniormester
31. maj 2007 - 14:12 #13
- derudover gør den vist, som du ønsker. Ret selv lige teksterne til  ;o)
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 14:21 #14
Fint. mange tak :-)
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 14:24 #15
Lige en ting mere. Nu virker det perfekt med links, men kunne det også lade sig gøre at erstatte disse links med et ikon?
Avatar billede olebole Juniormester
31. maj 2007 - 14:33 #16
Ja:

function toggle(o, sId) {
    var vis = document.getElementById(sId).style=="visible" ? "hidden" : "visible";
    document.getElementById(sId).style.visibility = vis;
    o.setAttribute("src", vis=="hidden" ? "A.gif" : "B.gif");
}

<img src="A.gif" onClick="toggle(this, 'test')"><br>
<div id="test" style="visibility: hidden;"><b>Dette er en test:</b></div>
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 14:51 #17
Super :-) takker
Avatar billede olebole Juniormester
31. maj 2007 - 14:56 #18
Selvtak  ;o)
Avatar billede kaptajnknas Nybegynder
31. maj 2007 - 15:24 #19
Hov! åbner teksten, men kan ikke lukke igen.
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