Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Zmiana stylu elementu
stefik4
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 1
Dołączył: 18.11.2007

Ostrzeżenie: (0%)
-----


  1. <script type="text/javascript">
  2.  
  3. function show(co,ile,ile2){
  4.  
  5. switch(co){
  6. case 'junior': var na = 'senior'; break;
  7. case 'senior': var na = 'junior'; break;
  8. };
  9.  
  10. alert('chcesz zobaczyc pola: '+co+'1-'+ile+', a ukryc: '+na+'1-'+ile2);
  11.  
  12. for(i=0;i<=ile;i++)
  13. { document.getElementById(co+'_'+i).style.border='2px dotted #24c3d1'; }
  14.  
  15. for(z=0;z<=ile2;z++)
  16. { document.getElementById(na+'_'+z).style.border='0px dotted #24c3d1'; }
  17.  
  18. }
  19.  
  20. </script>


Posiadam taki kod JS. Mam an stronie tabelę, której linie przedstawiają się następująco:
<tr id="senior_0">...</tr>
<tr id="junior_0">...</tr>
<tr id="senior_1">...</tr>
<tr id="senior_2">...</tr>
<tr id="junior_1">...</tr>
<tr id="senior_3">...</tr>
<tr id="senior_4">...</tr>
<tr id="senior_5">...</tr>
<tr id="junior_2">...</tr>
<tr id="senior_6">...</tr>

Pod tym wszystkim mam dwa odnośniki:

  1. <a href="#" onclick="show('junior','2','6')">Pokaż juniorów</a>
  2. <a href="#" class="black_buttons" onclick="show('senior','6','2')">Pokaż seniorów</a>



gdy kliknę na pokaz juniorów to prawidłowo bierze w ramkę tych juniorów, lecz jeśli później kliknę w pokaz seniorów to juniorzy się nie odznaczają jakby, czyli coś nie tak jest z drugą częścią kodu ;/

Walczę z tym już od dawna i nie mogę sobie poradzić ;/

Ten post edytował stefik4 8.10.2010, 19:55:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
stefik4
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 1
Dołączył: 18.11.2007

Ostrzeżenie: (0%)
-----


Właśnie nie wiem zbytnio jak to zrobić an klasach ;/

// A Co do tej tabeli to błądnie tam wpisałem przyklad. sorry za pomyłkę.

// moga byc od 0, bo w tych liniach tr id tez mam od 0. Nadal nie wiem jak zrobic element.getdocument by class ;/

Ten post edytował stefik4 8.10.2010, 19:56:42
Go to the top of the page
+Quote Post
BaN
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

Ostrzeżenie: (0%)
-----


Cytat(stefik4 @ 8.10.2010, 19:33:32 ) *
Właśnie nie wiem zbytnio jak to zrobić an klasach ;/

napisał już o tym @skowron-line, ale widzę, że jesteś zupełnie początkujący

dodajesz jakiś identyfikator do tabelki:
  1. <table id="tabelka">

w wierszach gdzie masz juniorów robisz:
  1. <tr class="junior">...</tr>

podobnie w wierszach gdzie masz seniorów:
  1. <tr class="senior">...</tr>


funkcja JS:
  1. function show(co){
  2. var tabelka=document.getElementById('tabelka');
  3. var wiersze=tabelka.getElementsByName('tr');
  4. for(var i=0, n=wiersze.length; i<n; ++i){
  5. wiersze[i].style.border=(wiersze[i].className==co) ? '2px dotted #24c3d1' : '0px dotted #24c3d1';
  6. }
  7. }

no i oczywiście zmieni się wywołanie tych funkcji na odpowiednio:
  1. <a href="#" onclick="show('junior');return false">Pokaż juniorów</a>
  2. <a href="#" class="black_buttons" onclick="show('senior');return false">Pokaż seniorów</a>



Cytat(stefik4 @ 8.10.2010, 19:33:32 ) *
// moga byc od 0, bo w tych liniach tr id tez mam od 0. Nadal nie wiem jak zrobic element.getdocument by class ;/


Poprawiłeś po moim wpisie (IMG:style_emoticons/default/smile.gif) ale identyfikatory na wierszach nie są potrzebne
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 12:32