Autor Zpráva
jirka0376
Profil
Zdravím,

potřeboval bych poradit se změnou textu tlačítka při skrývání/odkrývání vzdálenějších informací.

Když umístím skrývaný objekt (např. text) ihned pod tlačítko, tak vše funguje, jak má - tzn. objekt se skryje nebo zobrazí a současně se změní popis tlačítka tak, jak potřebuji.

Pokud ovšem umístím objekt jinam a přistupuji k němu přes "document.getElementById", tak se mi skryje nebo zobrazí správně, ale nezmění se popis na tlačítku.

Názorně na příkladu:

1/ První tlačítko odkazuje na ID objektu "document.getElementById(ID)" a nemění se popis tlačítka.
2/ Druhé tlačítko přistupuje k objektu ihned pod ním přes "this.parentNode" a funguje výměna popisku

<style type="text/css" >
                                                                           /* schování tlačítka */
    .live .schovat div {display: none}
                                                                           /* když je obsah schovaný, schováme popisek „Skrýt“ */
    .live .schovat .skryt {display: none}
                                                                           /* když je obsah zobrazený, schováme popisek „Zobrazit“ */
    .live .ukazat .zobrazit {display: none}
</style>
 
<script type="text/javascript">
    function prohodit(element, prvniTrida, druhaTrida) {
      element.className = element.className == prvniTrida ? druhaTrida : prvniTrida;
    }
</script>
 
<div class="live" >
    <span class="schovat">
        <button style="width:200pt; height: 60pt" onclick="prohodit(document.getElementById('prvnipanel'), 'schovat', 'ukazat')">
            <i></i><span class="zobrazit">První text - zobrazit</span><span class="skryt">První text - skrýt</span>
        </button>
    </span>
    
    <span class="schovat">
        <button style="width:200pt; height: 60pt" onclick="prohodit(this.parentNode, 'schovat', 'ukazat')">
            <i></i><span class="zobrazit">Druhý text - zobrazit</span><span class="skryt">Druhý text - skrýt</span>
        </button>
        <div>Text č. 2, který se bude zobrazovat nebo schovávat...</div>
    </span>

    <br/><br/><br/>
    
    <div id="prvnipanel" class="schovat">
        <div>Text č. 1, který se bude zobrazovat nebo schovávat ...</div>
    </div>
</div>

Potřeboval bych poradit, co jsem napsal špatně.

Děkuji Jirka

PS: zdroj, ze kterého jsem čerpal Skrývání a odkrývání textu

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: