Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] ukrywanie kilku divów
Forum PHP.pl > Forum > Przedszkole
!*!
JS:

Kod
function a(c){var t=document.getElementById('z');if(t)t.className=c;}
function b(divId, divWithText){var div = document.getElementById(divId);if(div.style.display == 'block'){div.style.display = 'none';divWithText.innerHTML = '<img src="2.png" alt="" />';}else{div.style.display = 'block';divWithText.innerHTML = '<img src="1.png" alt="" />';}}


przykładowo do pojedyńczego diva:

  1. <div class="gdzie_lista">Szybki kontakt
  2. <div style="cursor:pointer;" class="textToChange" onclick="javascript:b('szybkikontakt', this);"><img src="1.png" alt="" /></div>
  3.  
  4. <div style="display: block" id="szybkikontakt" class="divA">
  5. www<br />
  6. email<br />
  7.  
  8.  
  9. </div>
  10. </div>


działa to bez problemu, jednak na stronie mam kilka divów ktore działają na tej samej zasadzie i chciałbym zrboić link aby otwierać lub zamykać wszystkie divy

  1. <div style="cursor:pointer;" class="textToChange" onclick="javascript:b('div1'; 'div2', this);"><img src="1.png" alt="" /></div>


tylko zabardzo nie wiem jak zapytać o to w oncliku
Babcia@Stefa
Przyznam się że nie czytałem posta ze zrozumieniem haha.gif ale zapewne chodzi Ci o widoczność diva.

To powinno podziałać:
Kod
document.getElementById('id_diva').style.visibility = 'hidden';


A użycie statyczne (bez automatyki javascriptu):
  1. <div id="id_diva" style="visibility: hidden;">
  2. Haha jestem ukryty ;>
  3. </div>


Dziękuję, Babcia@Stefa
!*!
To mógłbyś przeczytać nawet temat, chodzi o ukrywanie KILKU diwów pod jednym linkiem
lord_t
Masz tu dwie funkcje b2, obie robią to samo, ale trochę inaczej (przeanalizuj sobie):
  1. <script type="text/javascript">
  2. <!--
  3.  
  4.  
  5. function b2(tab, divWithText)
  6. {
  7. for(i=0;i<tab.length;i++)
  8. {
  9. var div = document.getElementById(tab[i]);
  10. if(div.style.display == 'block')
  11. div.style.display = 'none';
  12. else
  13. div.style.display = 'block';
  14. }
  15.  
  16. if(div.style.display == 'block')
  17. divWithText.innerHTML = 'obrazek2';
  18. else
  19. divWithText.innerHTML = 'obrazek1';
  20. }
  21.  
  22. function b2(tab, divWithText)
  23. {
  24. var div = document.getElementById(tab[0]);
  25. if(div.style.display == 'block')
  26. {
  27. for(i=0;i<tab.length;i++)
  28. document.getElementById(tab[i]).style.display = 'none';
  29. divWithText.innerHTML = 'obrazek2';
  30. }
  31. else
  32. {
  33. for(i=0;i<tab.length;i++)
  34. document.getElementById(tab[i]).style.display = 'block';
  35. divWithText.innerHTML = 'obrazek1';
  36. }
  37. }
  38.  
  39. //-->


Każdą z nich wywołuj się w ten sam sposób. Przykład użycia:
  1. <div onclick="javascript:b2(Array('pierwszy','maly','redx'), this);">obrazek1</div>
  2.  
  3. <div style='display:block;' id='pierwszy'>Pierwszy</div>
  4. <div style='display:block;'id='redx'>Czerwony</div>
  5. <div style='display:block;'id='maly'>Mały</div>
!*!
Nie zrozumieliście, wiem jak ukryć, pokazać divy, przykład podałem... chodzi mi o to jak już mam kilka divów które sie rozwijają to chciałbym aby wszytkie się rozwijały po kliknięciu " rozwiń wszystkie"...
lord_t
Jeśli chodzi Ci o animację jakąś to zobacz show() i hide() w frameworku jQuery (link w moim podpisie).
A jeśli mają się pokazać po prostu to wystarczy okroić kod js który podałem.
Gość
sęk w tym że zabardzo nie wiem jak to zrobić nie znam sie na JS aż tak... ukryć/ pokazać div zrobiłem, kilka divów działa na tej zasadzie, ale nie wime jak je wszystkie podpiąć pod jeden link.
l0ud
Jeżeli nie znasz się specjalnie na JS, zacznij wykorzystywać framework JQuery [tak jak poprzednik napisał]
http://jquery.com/

Tam masz odpowiednie selektory i pokazanie/ukrycie kilku divów to najczęściej linijka kodu.
!*!
tylko po co mi kobyła do linijki skryptu? Poza tym jQ nie mogę chyba wykorzystać komercyjnie
l0ud
Zgodnie z licencją MIT, można. Wg. mnie 15KB (przy kompresji gzip) kodu w zamian za dużą pomoc przy pisaniu wielu skryptów w JS to mała cena.
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.