Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Tworzenie divów z poziomu js
Michu
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 15.10.2006
Skąd: zewsząd :P

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


Witam. Mój problem jest następujący:

Tworzę skrypt js+ajax+mootools który tworzyłby dynamiczną mapkę 2d do gry rpg (php+mysql). W mapce z założenia każdy gracz ma widzieć położenie innych, oraz ich ruchy. Przygotowałem już klasę obsługującą ruchy, itp. Dopiero teraz zacząłem się jednak zastanawiać co zrobić gdy gracz wkracza na mapkę po odświeżeniu strony. Każdy gracz ma swój obrazek zamknięty w <div id=''graczX"></div>. Czy da się stworzyć system który z poziomu js tworzy w HTML'u nowy div, który mógłby być potem obsługiwany?
Go to the top of the page
+Quote Post
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Tak, zainteresuj się document.createElement('div') później musisz tylko zrobić appendChild do dokumentu albo warstwy nadrzędnej, w której będzie się ów div miał znajdywać.

Mam nadzieję że to pomoże w poszukiwaniach przykładów, jak nie to napisz a postaram się to bardziej wyjaśnić. smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Michu
post
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 15.10.2006
Skąd: zewsząd :P

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


Oto co zrobiłem, niewiem dlaczego nie działa:

<html>
<head>
<script type="text/javascript" language="javascript">
function AddPlayerDiv(nazwa){
var znacznik = document.createElement('div');
znacznik.setAttribute('id', nazwa);
var NewDiv = document.getElementById(nazwa);
NewDiv.appendChild('players');
NewDiv.innerHTML = "<img src='chars/char1/s.gif'>";

}
AddPlayerDiv('char1');
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id='players'>
</div>
</body>
</html>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
1)var znacznik = document.createElement('div');
2)znacznik.setAttribute('id', nazwa);
3)var NewDiv = document.getElementById(nazwa);
4)NewDiv.appendChild('players');
5)NewDiv.innerHTML = "<img src='chars/char1/s.gif'>";
Moze ci przetlumacze to co napisales, bo chyba nie wiesz co napisales:
1) tworzysz diva
2) nadajesz mu id nazwa
3)pobierasz jakis element o id nazwa. napewno to ci nie zwroci diva ktorego co dopiero stworzyles. Jesli chciales wlasnie go pobrac to przeciez masz go w zmienej znacznik
4) do pobranego wczesniej diva (o ile wogole cos pobrales) dodajesz tekst "players" - tak sie nie dodaje tekstow
5) nadpisujesz to co niby wyzej dodales poprzez przypisanie innerHTML.

A teraz zastanow sie czy chciales napewno to osiagnac smile.gif

ps: czemu to jest w dziale xml,ajax? przeciez to zwykly js


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sabistik
post
Post #5


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Przenoszę na forum JS.
Go to the top of the page
+Quote Post
slammer
post
Post #6





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

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


Przynajmniej się starasz smile.gif
zamiast
  1. znacznik.setAttribute('id', nazwa);

  1. znacznik.id = "nazwa";


  1. <div id="player"></div>
  2. var znacznik = document.createElement('div'); //tworzysz diva
  3. znacznik.id = "nazwa"; // nadajesz mu id
  4. znacznik.innerHTML = 'jakis tekst'; //wpisujesz do niego tekst (alternatywnie mozna uzyc createTextNode)
  5. var NewDiv = document.getElementById("player"); //teraz pobierasz referencje do elementu o id "player" a nie zawartosci zmiennej player
  6. NewDiv.appendChild(znacznik); //teraz do pobranej referencji (uchwytu jak wolisz) dodajesz wszystko co utworzyles wczesniej
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:12