Hilfe bei Programm [Java Script]

Alle Fragen zur Software

Moderator: Moderatoren

Benutzeravatar
Fridericus Secundus
Primus Pilus
Primus Pilus
Beiträge: 2353
Registriert: 10. Dezember 2010 23:58
Wohnort: Herzogtum Bayern-München
:
Teilnahme an einem Contest Modder Spender

Hilfe bei Programm [Java Script]

Beitragvon Fridericus Secundus » 19. Januar 2015 14:54

Servus Forum,

für meine Diss habe ich eine XML-Datenbank, die ich mit XSL je nach Forschungsfrage unterschiedlich "auswerte". In diesem Zusammenhang würde ich ins Ergbebnis, eine HTML-Datei, gerne eine einfache Spoiler Funktion zur besseren Übersichtlichkeit einfügen. Googlen brachte mich auf diverse Codeschnipsel zu Spoilern, die auch funktionieren - allerdings leider nur für ein einziges Element. Ich muss den Code also so anpassen, dass alle (sagen wir) <div> Elemente beim Klick auf den Button ein- und ausgeblendet werden, nicht nur das an einer bestimmten Arrayposition. Hier mein Entwurf:
Spoiler (Öffnen)

Code: Alles auswählen

<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript">           
            function spoiler(x) {
            container = new Array(x.parentNode.getElementsByTagName("div"));
                for (var i = 0; i <=container.length; i++)
                {
                    if (container[i].style.display == "none")
                    container[i].style.display = "";
                    else
                    container[i].style.display = "none";
                }
            }
        </script>
    </head>
    <body>
       
        <div style="display:none">
            Testtext 1           
        </div>
        <div style="display:none">
            Testtext 2
        </div>
        <input type="button" value="zeigen!" onclick="spoiler(this);"/>
    </body>
</html>

...der nicht funktioniert. Habe ich nen Denkfehler oder liegts an der Syntax? hab ich irgendwas falsch verstanden/konzipiert? Danke für eure Hilfe!
Ich bin Historiker. Da geht man immer mit ganz niedrigen Erwartungen an die Menschen ran.
-- Don Alphonso

Benutzeravatar
Jaegerfeld
Tribunus Angusticlavius
Tribunus Angusticlavius
Beiträge: 3571
Registriert: 10. November 2010 21:15
Wohnort: AudiCity
:
Pfeiler der Community Gewinner Userwahl

Re: Hilfe bei Programm [Java Script]

Beitragvon Jaegerfeld » 19. Januar 2015 22:14

ich kenne mich mit javascript nicht wirklich gut aus, aber mit JQuery und Klassen solltest du das lösen können.

Siehe z.B. hier:
http://stackoverflow.com/questions/1834 ... poiler-box
„Ich schätze mal, das kann jeder Online-Community passieren. Irgendwann stellen die höflichen und vernünftigen Leute fest, dass sie sich in dieser Gruppe nicht mehr aufhalten wollen. Also verschwinden die. Und diejenigen die übrig bleiben, erfahren nur noch die Leute die genau so wie sie drauf sind.“

=== David Gaider, Bioware ===

Benutzeravatar
Fridericus Secundus
Primus Pilus
Primus Pilus
Beiträge: 2353
Registriert: 10. Dezember 2010 23:58
Wohnort: Herzogtum Bayern-München
:
Teilnahme an einem Contest Modder Spender

Re: Hilfe bei Programm [Java Script]

Beitragvon Fridericus Secundus » 21. Januar 2015 11:13

Danke, Jägerfeld.
Ich habe mich mit JQuery zwar noch nie auseinander gesetzt, aber da mein JS Skill auch nicht groß ist, werde ich mir das auf jeden Fall mal anschauen. Wo ich mich einarbeite, ist dann auch schon wurscht. ;)
Ich bin Historiker. Da geht man immer mit ganz niedrigen Erwartungen an die Menschen ran.
-- Don Alphonso

Benutzeravatar
Tacitus
Administrator
Administrator
Beiträge: 2121
Registriert: 1. November 2010 21:45
Wohnort: nähe Köln
:
Team-SZ Gründer/Eigentümer der SZ

Re: Hilfe bei Programm [Java Script]

Beitragvon Tacitus » 21. Januar 2015 17:52

Ich kann JQuery nur empfehlen. Das macht das Arbeiten mit Javascript angenehmer.
Möchtest du das alle div-Elemente gleichzeitig zu- oder aufgeklappt sind?
Bild