Autor Zpráva
Musta__
Profil *
Zdravim,
napsal jsem si tuhle funkci

function showhide() 
            {
                if (document.getElementById('skryte1').style.display == 'none') {
                    document.getElementById('skryte1').style.display = 'block';
                }
                else {
                    document.getElementById('skryte1').style.display = "none";
                }
            } 


Funguje to dobře pro Firefox i IE7, ale IE6 mi hlasí : error : object required.

Nevíte co s tím ?
Díky
Měsíček
Profil
Tohle by ti fungovalo?
<script type="text/javascript">
  var display = {
    turn : function(e) {
      var element = document.getElementById(e).style;
        element.display = (element.display == 'none') ? 'block' : 'none';
    }
  }
</script>

<a href="#" onClick="display.turn('a');"> Skrýt či odkrýt </a>

<div id="a"> Nějáký text </div>
swetko
Profil
ja sa do js nevyznam ale nemalo by byt
document.getElementById('skryte1').style.display = 'block';

takto
document.getElementById('skryte2').style.display = 'block';
Měsíček
Profil
Swetko a kde by vzal ten druhý (div?) když odkrývá i skrývá pouze jeden, ...
Musta__
Profil *
Swetko mi paradoxně pomohl :)
Sice ten jeho příspěvěk je nesmysl, ale pomohl přijít na problém. Já jsem skrýval <asp:table> ale IE6 zřejmě skrývat tabulky neumí. Obalil jsem to divem a funguje :)
Tak díky vám oboum :-D
Měsíček
Profil
Tak to já děkuji Tobě :) .. to, že IE6 kašle na tabulku jsem nevěděl.
Chamurappi
Profil
Reaguji na Mustu__:
Nevíte co s tím ?
Příště dej rovnou odkaz na stránku.

ale IE6 zřejmě skrývat tabulky neumí
Zaručeně umí, chyba musí být jinde.
I kdyby neuměl měnit style.display, nikdy by nemohl hlásit „object required“.


Reaguji na Měsíčka:
Proč tak často zmiňuješ ten kód s var display = { turn: … }? Nemá v tomto případě oproti klasickému zápisu funkce vůbec žádné výhody a je pro začátečníka hůře pochopitelný. Navíc má pořád ten problém, že pracuje s atributem style.
Měsíček
Profil
Reaguji na Chamurappiho:

"Proč tak často zmiňuješ ten kód s var display = { turn: … }? Nemá v tomto případě oproti klasickému zápisu funkce vůbec žádné výhody a je pro začátečníka hůře pochopitelný."

Protože je to pro mne nejjednodušší řešení .. * (nechtělo se mi hledat ten od Lea, který to řeší lépe a i ten spoléhá na zapnuté CSS)

"Navíc má pořád ten problém, že pracuje s atributem style."

To by měl i ten bez objektu (myslím tím ten na JPW) .. *
Měsíček
Profil
Jinak Chamurappi s tímto by jsi souhlasil více?
<style type="text/css">
	.schovat  {display:none;} 
  .zobrazit {display:block;}
</style>

<script type="text/javascript">
  var display = {
    turn : function(e) {
      with (document.getElementById(e)) {
        className == "schovat" ? className = "zobrazit" : className = "schovat";
      }
    }
  }
</script>

  <a href="#" onClick="display.turn('a');"> Skrýt či odkrýt </a>

<div id="a"> Nějáký text </div>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0