Javascript zeige Funktion öffnen und schließen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript zeige Funktion öffnen und schließen...

    Hallo,

    ich möchte via Javascript gern ein Lexikon erstellen wo man auf den gewünschten Begriff klickt und die Beschreibung sich dann öffnet.
    Ich möchte aber auch das sich die Begriffserklärungen wieder schließen wenn man erneut darauf klickt, nun hab ich aber noch keine funktionierende Lösung gefunden und hoffe nun das mir hier jemand helfen kann.

    Mein Code sieht wie folgt aus und funktioniert auch alles mit dem öffnen, nur eben zum wieder schließen hab ich nichts

    Code im Headbereich:
    Code:
    <script type="text/javascript">
    function zeige(id){
    var anzahl = 21;
    
    for(var i =1; i <= anzahl; i++) {
     if(i==id)
     document.getElementById(i).style.display="block";
     else document.getElementById(i).style.display="none";
     }
    }
    </script>
    Code zum Aufrufen im Content:
    Code:
    <div align="center"  style="width:800px;">
    <span <a href="javascript:zeige('1')" class="frage">!--Begriff--!</a><br>
    <span id="1" class="antwort"><p align="center">!--Begriffserklärung--!</p></span>
    </div>
    Hat jemand eine Idee wie ich es hinbekomme das es bei klick wieder geschlossen wird, also ohne zusätzliche "schließen" Links oder ähnliches??
    Zuletzt geändert von sixfinger; 02.06.2010, 16:46.

  • #2
    Hallo,

    Code:
    function zeige(id){
        var elem = document.getElementById(id);
        elem.style.display = elem.style.display != "block" ? "block" : "none";
    }
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Danke für die Hilfe, aber wo genau muss ich den Code einfügen damit es richtig funktioniert?

      Kommentar


      • #4
        Ich hab nur die bestehende Funktion zeige korrigiert, also genau da, wo die jetzt steht.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Ich hab ihn genau mit meinem ersetzt, doch dann passiert niuchts mehr...
          Wenn ich dan [COLOR=Red]var anzahl= 21;[/COLOR] wieder hinzufüge gehts wieder, aber schließen lässt es sich leider noch immer nicht.

          Kommentar


          • #6
            Zitat von sixfinger Beitrag anzeigen
            Wenn ich dan [COLOR=Red]var anzahl= 21;[/COLOR] wieder hinzufüge gehts wieder


            Den ganzen (aktuellen) Code bitte nochmal.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Header:
              Code:
              <script type="text/javascript">
              function zeige(id){
                  var elem = document.getElementById(id);
                  elem.style.display = elem.style.display != "block" ? "block" : "none";
              var anzahl = 21;
              
              for(var i =1; i <= anzahl; i++) {
               if(i==id)
               document.getElementById(i).style.display="block";
               else document.getElementById(i).style.display="none";
               }
              
              }
              </script>
              Content:
              Code:
              <div align="center"  style="width:800px;">
              <span <a name="affiliate" href="javascript:zeige('1')" class="frage">!---Begriff--!</a><br>
              <span id="1" class="antwort">!--Begriffserklärung--!</span>
              In aktion sieht das so aus: Infos-Paid4.de - Geld verdienen im Internet

              Kommentar


              • #8
                Achso

                Du solltest den alten Code ersetzen, nicht mit meinem kombinieren.

                Also, aus
                HTML-Code:
                <script type="text/javascript">
                function zeige(id){
                    var elem = document.getElementById(id);
                    elem.style.display = elem.style.display != "block" ? "block" : "none";
                var anzahl = 21;
                
                for(var i =1; i <= anzahl; i++) {
                 if(i==id)
                 document.getElementById(i).style.display="block";
                 else document.getElementById(i).style.display="none";
                 }
                
                }
                </script>
                machst du
                HTML-Code:
                <script type="text/javascript">
                function zeige(id){
                    var elem = document.getElementById(id);
                    elem.style.display = elem.style.display != "block" ? "block" : "none";
                }
                </script>
                Die bleiben aber dann auf, bis sie geschlossen werden und gehen nicht alleine zu, wenn ein anderes geöffnet wird. Trotzdem okay?
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  "1" ist keine gültige ID.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Ah wunderbar

                    Ja das ist ok, muss ja nicht zwangläufig direkt wieder geschlossen werden wenn man einen anderen öffnet.

                    Danke für die Hilfe

                    Kommentar


                    • #11
                      Zitat von wahsaga Beitrag anzeigen
                      "1" ist keine gültige ID.

                      Wie meinst du das?
                      Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig, deshalb hab ich Zahlen genommen und dir funzen wunderbar und ohne jegliches Problem.

                      Kommentar


                      • #12
                        Zitat von sixfinger Beitrag anzeigen
                        Wie meinst du das?
                        So, wie ich es geschrieben habe.

                        Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig,
                        Gewöhne dir bitte an, vernünftige Problembeschreibungen zu liefern - und kein „funzt nich“.

                        deshalb hab ich Zahlen genommen und dir funzen wunderbar und ohne jegliches Problem.
                        Darauf kanst du dich absolut nicht verlassen.
                        Nur, weil es zufällig in den fehlertoleranten Browsern funktioniert haben mag, in denen du getestet hast, heißt das noch lange nicht, dass es überall funktionieren wird.
                        Und auch „funktioniert“ macht daraus noch lange kein richtig.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Zitat von sixfinger Beitrag anzeigen
                          Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig
                          Das lag an der alten Funktion. Die neue von mir funktioniert mit korrekten IDs.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            Ja es mag villeicht nicht richtig sein, aber in jedem Browser bei mir FUNKTIONIERT es, von Firefox, über Chrome bis zu Netscape.
                            Aber wenn es dich beruhigt kann ich auch etwas anderes als ID nutzen

                            Kommentar

                            Lädt...
                            X