• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z działaniem funkcji w JSie ;/

0 głosów
324 wizyt
pytanie zadane 25 czerwca 2018 w JavaScript przez Dorian Bajorek Dyskutant (7,920 p.)
Witam wszystkich,otóż piszę sobie bardzo prostą grę w statki i pojawia mi się od czasu do czasu problem z generowaniem ich położenia,albo pojawia się ich za dużo albo za mało.Pokazuje mi się też błąd w konsoli gdy właśnie generacja nie przeszła pomyślnie.Jak naprawić taki problem.Kod przesyłam poniżej na CodePenie.

https://codepen.io/DorianBajorek/pen/XYBGMO

1 odpowiedź

+1 głos
odpowiedź 25 czerwca 2018 przez rafal.budzis Szeryf (86,440 p.)

Usuwasz atrybut id 

hook.removeAttribute("id");

I dlatego masz problem. Gdy statek wylosuje sie w to samo miejsce co wcześniejszy próbuje wykonać 

var hook=document.getElementById("p"+randNum_y+number_chang);

i nagle masz błąd bo taki ID juz nie istnieje.

Rozwiązaniem problemu jest użycie data-* jest to sposób zapisu danych do znaczników HTML.

możesz zrobić sobie

<div id="test" data-x="2" data-y="34" />

i nie musisz modyfikować ID !

W JS odwołasz się poprzez dataset
 

var x = document.getElementById('test').dataset.x

 

komentarz 26 czerwca 2018 przez Dorian Bajorek Dyskutant (7,920 p.)

Nie wiem jak przypisać to za pomocą JSa 

hook.getAttribute("data-"+i);

Nie przechodzi 

komentarz 27 czerwca 2018 przez rafal.budzis Szeryf (86,440 p.)
Hook.dataset.cokolwiek = "nowa wartosc";

Mozesz tez uzyc setAttribute. get to pobieranie wartosci

Podobne pytania

0 głosów
3 odpowiedzi 598 wizyt
pytanie zadane 25 stycznia 2018 w JavaScript przez ildan91 Użytkownik (630 p.)
0 głosów
2 odpowiedzi 398 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez mn130496 Gaduła (3,640 p.)
0 głosów
1 odpowiedź 2,281 wizyt

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...