Avatar billede UlrikOne Nybegynder
19. december 2010 - 12:34 Der er 6 kommentarer

Hyperlink der åbner/lukker for tekst nedenunder - hvordan?

Hej

Jeg havde engang et javascript der fik et alm. hyperlink til at vise noget tekst frem under linket (som man havde defineret i selve javascriptet). Når man så trykkede på linket igen, så lukkede den udrullede tekst sammen igen.

Håber det er forståeligt hvad jeg mener.

Hvis der er nogen der har dette javascript, og gider poste det her vil jeg være meget taknemmelig. MEN hvis der findes en smartere, mere up-to-date måde at gøre det på, som er IKKE-server-side, så vil jeg selvfølgelig hellere have den. Det skal bare kunne køre på en ganske alm. server.

På forhånd mange tak!
Avatar billede majbom Novice
19. december 2010 - 12:53 #1
<script type="text/javascript">
  function toggleText(){
      var elm = document.getElementById('skjult').style.display;
      if(elm=='none'){
        elm = 'block';
      }else{
        elm = 'none';
      }
  }
</script>

<a href="#" onclick="toggleText()">vis/skjul tekst</a>
<div id="skjult">skjult tekst</div>
Avatar billede UlrikOne Nybegynder
19. december 2010 - 13:20 #2
Hmm, scriptet virker desværre ikke. Jeg har copy-pastet scriptet direkte over i min text-editor og gemt den som test.html

Når jeg så prøver at køre test.html-filen i FireFox starter den op med at vise både linket + teksten. Når jeg trykker på linket forsvinder teksten ikke.

Samme resultat i Internet Explorer.

Er det mig der gør noget galt? Eller er der en fejl i scriptet eller?
Avatar billede majbom Novice
19. december 2010 - 13:33 #3
hovsa...

<script type="text/javascript">
  function toggleText(){
      var elm = document.getElementById('skjult').style;
      alert(elm.display);
      if(elm.display=='none'){
        elm.display = 'block';
      }else{
        elm.display = 'none';
      }
  }
</script>


:)
Avatar billede UlrikOne Nybegynder
19. december 2010 - 13:48 #4
Virker heller ikke.

For det første, åbner den stadig med teksten åbnet. Det skal være lukket ved opstart, og først vises når linket trykkes.

For det andet: når man trykker på hyperlinket i FireFox, så viser den en pop-up error besked (noget med 'none' et-eller-andet) mens den i IE 8 slet ikke reagerer når man trykker på hyperlinket.

...
Avatar billede majbom Novice
19. december 2010 - 13:55 #5
ja, havde lige en alert inde - den kan du bare fjerne

og så skal der en style på div'en: display:none;
Avatar billede heinzdmx Nybegynder
19. december 2010 - 20:07 #6
Det er måske overkill at gøre det. Men hvis du skal lave noget javascript så vil jeg anbefale dig at kigge på jQuery. Det er et javascript bibliotek der gør kodning meget nemmere (efter min mening)

Med jQuery kan du gøre hvad du vil med:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
$(document).ready(function() {
  $("aktivtLink").click(function() {
      $('#boxderskaltoogles').toggle(400);
      return false;
  });
});

<a href="#" id="aktivtLink">Skjul/vis</a>
<div id="boxderskaltoogles">Hej med dig</div>


Se her for nogle flere effekter:
http://www.learningjquery.com/2006/09/slicker-show-and-hide

Det den gør er at den laver en lille effekt der tager 400 millisekunder.
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