Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML]pobranie wartości class i nadanie nowej, zmiana wyglądu pola za pomocą js i css
agata
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 4.12.2009

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


witam,
mam książkowy skrypcik generujący kartę do gry w bingo. Napisałam go i wszystko działa do momentu kiedy chcę zaznaczyć dane pole. W książce nie jest to dobrze opisane tak jakby brakowało czegoś w treści/kodzie.
  1. window.onload = inicjacja;
  2. var uzyteLiczby = new Array(76);
  3. function inicjacja() {
  4. if (document.getElementById){
  5. document.getElementById("reload").onclick = innaKarta;
  6. newKarta();
  7.  
  8. }
  9. else {
  10. alert("Twoja przeglądarka nie jest w stanie obsłużyć tego skryptu!");
  11. }
  12. }
  13. function newKarta(){
  14. for(var i=0; i<24; i++){
  15. setPole(i);
  16. }
  17. }
  18.  
  19. function setPole(thisPole){
  20. var nrPola = "pole" + thisPole;
  21. var nrKolumna = new Array(0,1,2,3,4,0,1,2,3,4,0,1,3,4,0,1,2,3,4,0,1,2,3,4);
  22. var podstawaKolumny = nrKolumna[thisPole] * 15;
  23. var newLiczba;
  24.  
  25. do {
  26. newLiczba = podstawaKolumny + getLiczba();
  27. }
  28. while (uzyteLiczby[newLiczba]);
  29.  
  30. uzyteLiczby[newLiczba] = true;
  31. document.getElementById(nrPola).innerHTML = newLiczba;
  32. document.getElementById(nrPola).className = ""; // 1 pobranie wartości class danego pola?
  33. document.getElementById(nrPola).onmousedown = toggleColor; //2 wywołanie funkcji po kliknięciu na dane pole
  34. }
  35.  
  36.  
  37. function getLiczba() {
  38. return (Math.floor(Math.random() * 15) + 1);
  39. }
  40.  
  41. function innaKarta(){
  42. for (var i=0; i<uzyteLiczby.length; i++){
  43. uzyteLiczby[i] = false;
  44. }
  45. newKarta();
  46. return false;
  47. }
  48.  
  49. function toggleColor(){
  50. /* if (evt){
  51.   var thisPole = evt.target;
  52.   }
  53.   else{
  54.   var thisPole = window.event.srcElement; //3 w tym komentarzu zawarta instrukcja jest dla explorera (wg książki)
  55.   }*/
  56. if (thisPole.className == ""){
  57. thisPole.className = "pickedBG"; //4 przypisanie parametrowi class wartości pickedBG
  58. }
  59. else{
  60. thisPole.className = "";
  61. }
  62. }


Proszę o wyjaśnienie komentarzy 1, 2, 3, 4 czy dobrze je rozumiem.

W 4 komentarzu nadawana jest wartość pickedBG dla class, czy tak?
Jeśli tak to rozumiem że wystarczy zdeklarować w css kolor dla pickedBG, jednak ja robię to w ten sposób to nie działa, karta jest generowana ale nie można zaznaczyć żadnego pola.
Jak mam to rozwiązać, ewentualnie gdzie mam błędy w skrypcie.

Kod html to zwykła tabela 5x5.
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: 3.10.2025 - 13:13