Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] show/hide, zagnieżdżanie
Forum PHP.pl > Forum > Po stronie przeglądarki
Ania-678
Witam.


Mam taki problem z funkcją JS show/hide i z jego zagnieżdżaniem, a zresztą dam przykład:

  1. <style type="text/css">
  2. .phide { display: none }
  3. .pvisible { display: block }
  4.  
  5. <script type="text/javascript" language="javascript">
  6. function hide(obj){
  7. if(document.getElementById(obj).className){
  8. document.getElementById(obj).className = document.getElementById(obj).className=='phide' ? 'pvisible' : 'phide';
  9. }
  10. else{
  11. document.getElementById(obj).className='pvisible';
  12. }
  13. }
  14.  
  15. <a onclick="hide('test')">test</a><br /><br /><p class="phide" id="test">aaaaaaaaa
  16.  
  17. <br /><br /><br />
  18. <a onclick="hide('test2')">test2</a><br /><br /><p class="phide" id="test2">bbbbbbbbbb</p>
  19. <br /><br />
  20. cccccccccccc</p>



i problem jest taki iż cccccccccccc jest już POZA hide test2, ale również poza hide test,a powinien do niego należeć (patrzeć na zamykające znaczniki < /p>...
erix
Kod
<p class="phide" id="test2">bbbbbbbbbb</p>

Działa prawidłowo przecież. Zamykaj tagi poprawnie, puść to pod validator, to zobaczysz, gdzie tkwi błąd.
Ania-678
yyyy... chyba się nie zrozumieliśmy... albo Ja nie rozumiem, bo czy to FF 3.X czy IE 7 to i tak zachowuje się nie tak jak chce, chyba że akapitów nie można zagnieżdżać bo coś mam takie przeczucie... dry.gif
erix
Z tego, co pamiętam, to właśnie nie można. winksmiley.jpg

Poza tym:
  1. <p class="phide" id="test2">bbbbbbbbbb</p>
  2. <br /><br />
  3. cccccccccccc</p>

Masz dwa zamknięcia, a tylko jedno otwarcie akapitu.
Ania-678
  1. <p class="phide" id="test">


A to co to jest przed tymi 3 br'ami ? laugh.gif



Cytat
Z tego, co pamiętam, to właśnie nie można.


hmmm... to trochę lipa, trzeba chyba coś innego wymyślić... sleep.gif
ziqzaq
Może poprostu zmień te tagi "p" na "div", próbowałaś czy daje to efekt taki jaki chcesz?
Ania-678
Faktycznie działa, tylko że... div oraz span odpadają bo wykorzystałam je już do innych celów... może ktoś kojarzy jakiś niezbyt typowy (sic!) znacznik w xhtml który no nic nie robi, a można użyc jak np div'a? happy.gif
ziqzaq
Możesz wyjaśnić dlaczego "div" odpada skoro spełnia swoje zadanie?
Jeśli wykorzystałaś divy w innych miejscach to przecież nie oznacza, że nie możesz ich wykorzystać i tu.
PS. "span" jest elementem liniowym (inline) - wiem, wiem, można go ostylować "display:block" - a ty potrzebujesz elementu blokowego (block) i imho div jest w twoim przypadku dobrym rozwiązaniem.
Ania-678
Bo to leci do własnej funkcji bbcode a div'y użyłam już do pozycjonowania tekstu (center/right)i jak dam na to też div'y to będzie Mi się kolidować z zamykającym znacznikiem bo JAK odróżnię który od czego? worriedsmiley.gif

span zaś do kolorów.

Ale użyłam już abbr i jakoś działa tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.