Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS/HTML] Uniknięcie powtórzeń w pliku .js
Forum PHP.pl > Forum > Przedszkole
Kredka29
Zacząłem korzystać z JS, ale mam pewien problem.

tabela.html
  1. <script type="text/javascript" src="skrypt.js"></script>
  2. </head>
  3. <table border="1">
  4. <tr><td align="center" colspan="4"><b><big>Nagłówek</big></b></td></tr>
  5. <tr><td>1</td><td><img src="err.png" id="a1"><img src="ok.png" id="b1" style="display:none;"></td><td></td><td><input type="button" id="btn1" onClick="pokaz1();" value="Gotowe!" /><div id="c1" style="display:none;"><b><font color="green">Gotowe!</font></b></div></td></tr>
  6. <tr><td>2</td><td><img src="err.png" id="a2"><img src="ok.png" id="b2" style="display:none;"></td><td></td><td><input type="button" id="btn2" onClick="pokaz2();" value="Gotowe!" /><div id="c2" style="display:none;"><b><font color="green">Gotowe!</font></b></div></td></tr>
  7. <tr><td>3</td><td><img src="err.png" id="a3"><img src="ok.png" id="b3" style="display:none;"></td><td></td><td><input type="button" id="btn3" onClick="pokaz3();" value="Gotowe!" /><div id="c3" style="display:none;"><b><font color="green">Gotowe!</font></b></div></td></tr>
  8. </body>


skrypt.js
Kod
function pokaz1() {
       var pierwszy_btn = document.getElementById("btn1");
       pierwszy_btn.style.display = "none";
       var pierwszy_a1 = document.getElementById("a1");
       pierwszy_a1.style.display = "none";
       var pierwszy_b1 = document.getElementById("b1");
       pierwszy_b1.style.display = "block";
       var pierwszy_c1 = document.getElementById("c1");
       pierwszy_c1.style.display = "block";
   }
  
   function pokaz2() {
       var pierwszy_btn = document.getElementById("btn2");
       pierwszy_btn.style.display = "none";
       var pierwszy_a2 = document.getElementById("a2");
       pierwszy_a2.style.display = "none";
       var pierwszy_b2 = document.getElementById("b2");
       pierwszy_b2.style.display = "block";
       var pierwszy_c2 = document.getElementById("c2");
       pierwszy_c2.style.display = "block";
   }
  
   function pokaz3() {
       var pierwszy_btn = document.getElementById("btn3");
       pierwszy_btn.style.display = "none";
       var pierwszy_a3 = document.getElementById("a3");
       pierwszy_a3.style.display = "none";
       var pierwszy_b3 = document.getElementById("b3");
       pierwszy_b3.style.display = "block";
       var pierwszy_c3 = document.getElementById("c3");
       pierwszy_c3.style.display = "block";
   }


Wszystko działa dobrze - gdy kliknę na dany button, włącza się dana funkcja...
Ale chciałbym dodać więcej tych wierszy, co by się wiązało z kolejnymi funkcjami w skrypt.js.
Niestety gdybym chciał wierszy 100, to musiałbym się nieźle pobawić, aby każdą funkcję dodać z innymi liczbami.

I teraz: jak zrobić, abym nie musiał w skrypt.js dodawać kolejnych podobnych funkcji, jak w kodzie wyżej?
nospor
o parametrach przekazywanych do funkcji nie slyszales?
Spawnm
  1. function pokaz(x){
  2. var pierwszy_btn = document.getElementById("btn"+x);
  3. pierwszy_btn.style.display = "none";
  4. var pierwszy_a1 = document.getElementById("a"+x);
  5. pierwszy_a1.style.display = "none";
  6. var pierwszy_b1 = document.getElementById("b"+x);
  7. pierwszy_b1.style.display = "block";
  8. var pierwszy_c1 = document.getElementById("c"+x);
  9. pierwszy_c1.style.display = "block";
  10. }

i w html
  1. <input type="button" id="btn1" onClick="pokaz(1);" value="Gotowe!" />
Kredka29
@nospor
20 minut temu zainteresowałem się js...

@Spawnm
Dzięki, zaraz sprawdzę smile.gif

//Działa, dzięki biggrin.gif
//Łap pkt'a smile.gif
nospor
Cytat
20 minut temu zainteresowałem się js...
ale w php widze piszesz dluzej.... funckja to funkcja, w zasadzie w kazdym jezyku do funkcji mozna przekazac parametr.

A skoro piszesz od 20 minut to od takich podstaw powinienes uzywac tutoriala
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.