Seite 1 von 1

Drop-Down Menü mit Cookies speichern

Verfasst: 14.06.2008 12:49
von Kreacher
Hallo,
ich habe folgendes Problem: Ich möchte mithilfe eines JavaScripts eine Box (z.B. "Board Navigation") ein- und ausklappbar machen (funktioniert auch einwandfrei), allerdings möchte ich den Benutzern meines Portals die Wahl lassen ob sie die Box auf- oder zugeklappt haben möchten und dies mit cookies speichern. Da JavaScript und cookies Neuland für mich sind bitte ich euch um Hilfe.

Ich habe folgendes Script hier aus dem Forum verwendet:

Code: Alles auswählen

<script language="JavaScript">
<!--
function show(id)
{
    if (document.getElementById(id).style.display == "none")
    {
        document.getElementById(id).style.display = "block";
    }
    else
    {
        document.getElementById(id).style.display = "none";
    }
}
-->
</script>
und zum öffnen der Box:

Code: Alles auswählen

<a href="javascript:show(1);">[+]</a>

<span class="genmed" id="1" style="display:none;">
Inhalt der Box, welche ein-/ausgeklappt wird
</span>
Das Sahnehäubchen wäre dazu noch, dass sich das [+] (welches der Link/Button zum aus-/einklappen ist) sich nach dem ausklappen in ein [-] ändert (bzw. 2 kleine Bildchen als Button) und umgekehrt.

wäre echt klasse wenn ihr mir weiterhelfen könntet

MfG
Kreacher

Verfasst: 18.06.2008 17:09
von Kreacher
Kann mir niemand weiterhelfen?

Verfasst: 18.06.2008 20:41
von murddoc
benutze die Forensuche, einen ähnlichen Thread gab es erst vor einiger Zeit...

Verfasst: 21.06.2008 13:23
von Kreacher
hab mich dumm und dämlich gesucht und keinen Thread gefunden in dem es eine Lösung für mein Problem gibt.

Verfasst: 25.06.2008 14:34
von Valerion
Such mal bei Google wegen JS Cookies.
Ändere den Link:

Code: Alles auswählen

<a href="javascript:show(1);" id="link">[+]
Ändere das JS-Script:

Code: Alles auswählen

function show(id)
{
    if (document.getElementById(id).style.display == "none")
    {
        document.getElementById(id).style.display = "block";
        document.getElementById(link).innerHTML= "[-]";
    }
    else
    {
        document.getElementById(id).style.display = "none";
        document.getElementById(link).innerHTML= "[+]";
    }
} 
(Du kannst die ID natürlich auch dynamisch machen).
Nicht getestet

Verfasst: 27.06.2008 15:09
von Kreacher
Danke für deine Mühe, aber leider funktioniert es nicht wie es sollte. Das [+] bleibt immernoch so, wie es ist, und wecheslt nicht in [-].

Verfasst: 27.06.2008 18:59
von atrox

Code: Alles auswählen

function show(id)
{
    if (document.getElementById(id).style.display == "none")
    {
        document.getElementById(id).style.display = "block";
        document.getElementById('link').innerHTML= "[-]";
    }
    else
    {
        document.getElementById(id).style.display = "none";
        document.getElementById('link').innerHTML= "[+]";
    }
}

Code: Alles auswählen

<a href="javascript:show('liste');" id="link">[+]</a>

<span class="genmed" id="liste" style="display:none;">
Inhalt der Box, welche ein-/ausgeklappt wird
</span>
So klappts, hast du schon die Cookie Abfrage?

Verfasst: 28.06.2008 17:36
von Valerion

Verfasst: 29.06.2008 13:59
von Kreacher
Vielen Dank, atrox!!
Nein habe leider noch keine Cookie Abfrage.

Und danke auch nochmal an valerion!

Verfasst: 01.07.2008 18:21
von Kreacher
Habe versucht mehrere Tabellen mit der Drop-Down Funktion zu versehen und festgestellt, dass wenn ich auf einen Link zum ausklappen klicke alle Links ihr Symbol von [+] nach [-] ändern. Habe schon versucht die ID dynamsich zu gestallten, alleridngs ohne Erfolg. Darrüberhinaus qualmt mein Kopf schon förmlich wegen dem immernoch herrschenden Problem der Cookie Abfrage...HILFE