manuellsen: JS Funktion erweitern

Guten Abend,

Ich habe hier einige Funktionen die mir etwas Aus- & Einblenden.
Nun müsste ich die Funktion so erweitern, dass ich jeweils nur ein Link brauche um es  Aus- & Einzublenden. Sprich wenn ich auf den Link klicke das Script erstmal es ausblendet und bei erneutem Klick wieder einblendet.

function showByName(name) {  
  
  
    matches = document.getElementsByName(name);  
    for(var i=0; i<matches.length; i++) matches[i].style.display = "block";  
  
}  
  
function hideByName(name) {  
  
    matches = document.getElementsByName(name);  
    for(var i=0; i<matches.length; i++) matches[i].style.display = "none";  
  
}  

Ich als Laie verstehe nicht viel davon und wäre auf jede hilfreiche Antwort dankbar.

  1. Hi manuellsen,

    du könntest bspw. per onclick-Event eine Funktion auslösen. Definiere dir dafür am besten eine dritte Funktion die erkennt, ob dass anzuzeigende Element auf Display "none" steht oder auf "block". Je nach Ergebnis führst du dann die showByName(name) oder hideByName(name) - Funktion aus.

    Gruß Metalgurke

  2. @@manuellsen:

    nuqneH

    matches = document.getElementsByName(name);

    Auf welche HTML-Elemente willst du das anwenden? Das funktioniert nur für einige wenige, die ein @name-Attribut haben dürfen. 'div' bspw. gehört nicht dazu.

    Ich glaube, du suchst ein Akkordeon (was auf- und zuklappt und dabei keine Töne von sich gibt). Mit "javascript accordion" solltest du fündig werden.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)