Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Lista elementów modyfikowana przez JS
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
murawa
Chce zrobić następującą rzecz:
Na stronie wyswietlają się pozycje box
jest 5 kategorii
Po kliknięciu na górze strony na kategorie znikąją pozycje innej kategorii i zostaje tylko tak wybrana.
Ktoś ma jakąś propozcyje ?
wojtek.zielinski
Najlatwiej chyba te kategorie zamknac w div'y:

  1. <div id="kategoria1">bla bla bla</div>
  2. <div id="kategoria2">ple ple ple</div>
  3. ...


i w JS zapisac je na sztywno w tablicy:

  1. <script type="text/javascript">
  2. var kategorie[1] = "kategoria1";
  3. var kategorie[2] = "kategoria2";
  4. ...


No i na koniec taki skrypt z odpowiednimi linkami:

  1. <script type="text/javascript">
  2. function ShowOne(id)
  3. {
  4. for(i=1; i<=5; i++)
  5. {
  6. if(i==id)
  7. document.getElementById(kategorie[i]).style.display = 'block';
  8. else
  9. document.getElementById(kategorie[i]).style.display = 'none';
  10. }
  11. }
  12.  
  13. <a href="java script:ShowOne('1');">Kategoria 1</a>
  14. <a href="java script:ShowOne('2');">Kategoria 2</a>
  15. ...
murawa
Sprawdzałeś ten skrypt bo mi on nie działa !
pbnan
Ależ on działa poprawnie, trzeba tylko zmienić lekko kod: forum dodaje spację w wyrazie "javascript", choć nie powinno (jakieś zabezpieczenia). Usuń tę spację i kod odpowiednio połącz winksmiley.jpg
murawa
http://www.mrawski.pl/js_test.html
Wszystko ok ? to dlaczego u mnie nie działa ?
abc667
  1. <script type="text/javascript">
  2. kategorie = new Array();
  3. kategorie[1] = "kategoria1";
  4. kategorie[2] = "kategoria2";
  5. kategorie[3] = "kategoria3";
  6. kategorie[4] = "kategoria4";
  7. kategorie[5] = "kategoria5";
  8.  
  9. function ShowOne(id)
  10. {
  11. for(i=1; i<=5; i++)
  12. {
  13. if(i==id)
  14. document.getElementById(kategorie[i]).style.display = 'block';
  15. else
  16. document.getElementById(kategorie[i]).style.display = 'none';
  17. }
  18. }
  19.  
  20. </head>
  21.  
  22. <div id="kategoria1">bla bla bla</div>
  23. <div id="kategoria2">ple ple ple2</div>
  24. <div id="kategoria3">ple ple ple3</div>
  25. <div id="kategoria4">ple ple ple4</div>
  26. <div id="kategoria5">ple ple ple5</div>
  27.  
  28. <a href="java script:ShowOne('1');">Kategoria 1</a>
  29. <a href="java script:ShowOne('2');">Kategoria 2</a>
  30. <a href="java script:ShowOne('3');">Kategoria 2</a>
  31. <a href="java script:ShowOne('4');">Kategoria 2</a>
  32. <a href="java script:ShowOne('5');">Kategoria 2</a>
  33. </body>
  34. </html>
murawa
Boxy weryfikowane są po ID a ID może być tylko jedno.Jak to zmodyfikować żeby były identyfikowane po np name="" ?



Gdzie jest błąd ?
  1. <script type="text/javascript">
  2. kategorie = new Array();
  3. kategorie[1] = "nazwa";
  4. kategorie[2] = "nazwa";
  5. kategorie[3] = "nazwa";
  6. kategorie[4] = "nazwa";
  7. kategorie[5] = "nazwa";
  8. kategorie[6] = "nazwa";
  9.  
  10. function ShowOne(name)
  11. {
  12. for(i=1; i<=6; i++)
  13. {
  14. if(i==name)
  15. boxy = document.getElementById('main').getElementsByName(kategorie[i]);
  16. for(n=0; n<boxy.length; n++)
  17. {
  18. boxy[n].style.display = 'block';
  19. }
  20. else
  21. boxy = document.getElementById('main').getElementsByName(kategorie[i]);
  22. for(n=0; n<boxy.length; n++)
  23. {
  24. boxy[n].style.display = 'none';
  25. }
  26. }
  27. }


Wie ktoś ?
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.