Javascript aus/einklappen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Javascript aus/einklappen

    Hallo ,

    Ich habe gerade ein Plugin für das phpBB installiert wo eine java Funktion eingebaut ist . Es funktioniert zwar aber nicht so wie ich möchte .

    Und zwar ist das Problem dass wenn ich das Script aufrufe das ganze schon ausgeklappt ist . Ich möchte aber haben dass es erst per Klick sich aufklappt und erst wieder per klick zu geht . Aber standart soll ZU sein was ja jetzt nicht der fall ist .

    Sry ich hoff ihr versteht mich hab keine ahnung davon .

    Hier der Code so wies jetzt aussieht .

    Quellcode

    1. function view(mod,en,dis){
    2. document.getElementById('gb').style.display = mod;
    3. document.getElementById(en).style.display = 'block';
    4. document.getElementById(dis).style.display = 'none';
    5. }


    Und der andere Teil

    Quellcode

    1. <div id="dis" class="gen"><a href="javascript:view('none','en','dis');">{L_DIS}</a></div>
    2. <div id="en" style="display:none;" class="gen"><a href="javascript:view('block','dis','en');">{L_EN}</a></div>


    Bitte um hilfe dass das ganze standart zu ist .
    Danke sehr
  • 1) Flasche Section. Java != Javascript :)

    2) Schau dir mal die Klasse von dem Div an. Ich denke mal, dass dort ein Eintrag alá "display: block;" steht. Anders kann ich mir das nicht vorstellen. Ich meine du hast das schon mit style vordefiniert hmm..
    Wie wärs wenn du es damit ersetzt <div id="en" class="gen" style="display:none;"> damit das style Atribut hinten steht.
    Könnte zwar ein kompletter Schwachsinn sein, aber probieren geht über studieren.
  • Hey,

    für einen der das kann ist das sicher nicht schwer - Hexen ist keine kunst, wenn man weis wie es geht ;)

    So wie es aussieht haben wir aber nicht den kompletten Code. Aber du hast den Code sicherlich irgendwo her und wir können ihn uns sicherlich irgendwo anschaun (z.B. auf der Seite wo du ihn her hast als Demo) - so können wir den JS Code anschaun und dir helfen.

    Ansonsten kann ich auch nur wie mein Vorgänger vermuten:

    Quellcode

    1. <div id="dis" style="display:none;" class="gen"><a href="javascript:view('none','en','dis');">{L_DIS}</a></div>
    2. <div id="en" style="display:block;" class="gen"><a href="javascript:view('block','dis','en');">{L_EN}</a></div>


    Gruß,
    Dominic
    My lovely mister singing club...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dominic ()

  • mr.good schrieb:

    Und zwar ist das Problem dass wenn ich das Script aufrufe das ganze schon ausgeklappt ist . Ich möchte aber haben dass es erst per Klick sich aufklappt und erst wieder per klick zu geht . Aber standart soll ZU sein was ja jetzt nicht der fall ist.

    Ich rate mal, daß du mit "das ganze" das Element mit der ID 'gb' meinst, oder? Schau dir doch mal das entsprechende Tag dort an. Im Speziellen dessen Style- und Class-Attribute. Hier mußt du dafür sorgen, daß dieses Element nicht dargestellt wird. Da du den Code dazu nicht gepostet hast, kann ich dir nicht sagen wie.

    Nun zu den notwendigen Änderungen am Code den du gepostet hast. Statt

    Quellcode

    1. <div id="dis" class="gen"><a href="javascript:view('none','en','dis');">{L_DIS}</a></div>
    2. <div id="en" style="display:none;" class="gen"><a href="javascript:view('block','dis','en');">{L_EN}</a></div>


    schreibst du:

    Quellcode

    1. <div id="dis" style="display:none;" class="gen"><a href="javascript:view('none','en','dis');">{L_DIS}</a></div>
    2. <div id="en" class="gen"><a href="javascript:view('block','dis','en');">{L_EN}</a></div>


    Gnah schrieb:

    2) Schau dir mal die Klasse von dem Div an. Ich denke mal, dass dort ein Eintrag alá "display: block;" steht. Anders kann ich mir das nicht vorstellen. Ich meine du hast das schon mit style vordefiniert hmm..
    Wie wärs wenn du es damit ersetzt <div id="en" class="gen" style="display:none;"> damit das style Atribut hinten steht.

    • CSS-Einstellungen in einem Style-Attribut haben immer Vorrang vor denen in der CSS-Klasse.
    • Die Reihenfolge der Attribute in einem HTML-Tag ist irrelevant.
  • Also ich hab das hier bei mir verbaut
    Ich weiß ned, ob es genau das ist, was du brauchst, aber vielleicht hilft es dir weiter


    Quellcode

    1. /*
    2. CSS-Eigenschaften für DIV
    3. display:none;
    4. id="uniquename;
    5. LINKS:
    6. Show: <a onmouseover="ShowContent('uniquename'); return true;"
    7. href="javascript:ShowContent('uniquename')">[show]</a>
    8. Hide: <a onmouseover="HideContent('uniquename'); return true;"
    9. href="javascript:HideContent('uniquename')">[hide]</a>
    10. Both: <a onmouseover="ReverseDisplay('uniquename'); return true;"
    11. href="javascript:ReverseDisplay('uniquename')">[both]</a>
    12. */
    13. /* Funktion für das Verstecken des div-Layers */
    14. function HideContent(d) {
    15. if(d.length < 1) { return; }
    16. document.getElementById(d).style.display = "none";
    17. }
    18. /* Funktion für das Anzeigen des div-Layers */
    19. function ShowContent(d) {
    20. if(d.length < 1) { return; }
    21. document.getElementById(d).style.display = "block";
    22. }
    23. /* Funktion für das Anzeigen/Verstecken des div-Layers */
    24. function ReverseDisplay(d) {
    25. if(d.length < 1) { return; }
    26. if(document.getElementById(d).style.display == "none") {
    27. document.getElementById(d).style.display = "block"; }
    28. else { document.getElementById(d).style.display = "none"; }
    29. }
    Alles anzeigen