Text mit JS hin und her ändern

  • Hi,
    ich habe folgendes Script um einen Inhalt ein und auszublenden:

    das ganze rufe ich über folgendes auf:

    PHP
    <a href="#" onclick="swap_content('<?php echo $row['id'];?>_1n1_<?php echo $count;?>'); return false;">mehr...</a>
                                                                  <span id="<?php echo $row['id'];?>_1n1_<?php echo $count;?>" style="display: none;">


    ausgabe im Browser:

    Code
    <a href="#" onclick="swap_content('2_1n1_1'); return false;">mehr...</a>
    <span id="2_1n1_1" style="display: none;">(text)</span>


    Wie bekomme ich es nun hin das sich der Text (also "mehr...") in "weniger..." ändert sobald die Informationen aufgeklappt sind?
    Natürlich sollte das ganze auch wieder andersrum funktionieren.

    Da ich das Script von jemandem bekommen habe und ich selber einfach kein JS kann frag ich hier mal.
    (google/sufu benutzt)
    probiert hatte ich es schon über:

  • Ungetestet:

    Code
    function swap_content( span ) {
        displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
        document.getElementById( span ).style.display = displayType;
        toggleLink = document.getElementById('toggle_'+span);
        toggleLink.innerHTML = (toggleLink.innerHTML == "mehr...") ? "weniger..." : "mehr...";
    }


    Dem Link weist du dann noch eine ID zu.

    PHP
    <a href="#" onclick="swap_content('<?php echo $row['id'];?>_1n1_<?php echo $count;?>'); return false;" id="toggle_<?php echo $row['id'];?>_1n1_<?php echo $count;?>">mehr...</a>
                                                                  <span id="<?php echo $row['id'];?>_1n1_<?php echo $count;?>" style="display: none;">


    Ausgabe ist dann

    Code
    <a href="#" onclick="swap_content('2_1n1_1'); return false;" id="toggle_2_1n1_1">mehr...</a>
    <span id="2_1n1_1" style="display: none;">(text)</span>

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • ok, was vereinfachtes:

    HTML
    <html>
    <head><title>klapp mich auf</title></head>
    <body>
    Hier steht das Ergebniss eines Spieles <a href="#">klick mich für mehr</a>
    <span style="display: none;">Hier steht das genaue Ergebniss</span>
    </body>
    </html>

    vielleicht hilft dieses bild:
    klick mich

    Bei einem klick auf "mehr..." werden eben mehr Informationen angezeigt (lässt sich wieder "einklappen").
    aber das "mehr..." soll dann eben zu "weniger..." werden

    PS:
    Das auf dem Bild noch einiges buggy ist, ist mir klar, aber ich hab halt nur bei dem JS Problem zu kämpfen weil JS ganz und garnicht mein Gebiet ist

  • Ok, warte mal kurz.

    *edit*
    da:

    Wenn du noch Fragen hast nur zu.

    *nochmal edit*
    Scheisse - hat die Tabulatoren verschoben. Sorry.

    2 Mal editiert, zuletzt von phore (27. Mai 2009 um 22:44)

  • das wird dann aber problematisch

    ich hab 3-5 Clanwars die angezeigt werden (weis noch nicht genau)
    und jeder beinhaltet 6 Spiele

    ich könnte höchstens die zahlen aneinander ketten... mal testen^^

    *edit*
    diese 2 varianten wollen nicht:

    Code
    <a href="#" id="view_link_411" onclick="toggleView(this);">[mehr]</a>
    Code
    <a href="#" id="view_link_41n11" onclick="toggleView(this);">[mehr]</a>

    das geht aber:

    Code
    <a href="#" id="view_link_1" onclick="toggleView(this);">[mehr]</a>

    nur das Problem ist das ich in den 3stelligen bereich kommen MUSS, wenn nicht sogar noch höher

  • Bitte schön :) :) Für nen Kuss darfst es verwenden:

    2 Mal editiert, zuletzt von Pion (28. Mai 2009 um 20:44)

  • Das script nimmt den Link

    view_link_22

    Dann trennt es den immer wo ein "_" ist,

    also hat das script dann view , link , 22 und dann rechnet das script immer mit dem Wert nach dem 2ten _ weiter was quasi immer die id ist;)

    Spricht aus view_link_223134 macht er

    view
    link
    223134 <- und das verwendet er dann

    Wenn du nun ein _ davor noch reinmachst also view_test_link_223134 dann hat er
    view
    test
    link <- versucht er mit dem zurechnen , aber das ist nicht die id
    223134
    mfg

  • ah ok, danke für die Aufklärung

    mist, grad einen "fehler" entdeckt ;(

    man kann immer nur eine Information aufgeklappt haben, sobald man eine weitere aufklappen möchte geht die andere wieder zu =/

    und wenn ich den teil rausnehme:

    Code
    // die derzeit geöffnete view und link verstecken
                    var old_link = document.getElementById('view_link_' + open_view);
                    var old_view_more = document.getElementById('view_more_' + open_view);
                    old_view_more.style.display = 'none';
                    old_link.innerHTML = '[mehr]';

    muss man einen doppelklick machen zum schliesen =/

    aber das passt schon, wenn dadurch das andere eingeklappt wird bleibts übersichtlicher