Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> drag & drop - położenie elementu
tomtheman
post 18.09.2014, 12:27:33
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.09.2011

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


Witam

Przeciągam i upuszczam obrazek do div'a i jak próbuję przeciągnąć w to samo miejsce drugi obrazek to ten przeciągany znika (wskakuje pod spód) i dalej "na górze" jest pierwszy obrazek..
Jak zrobić żeby obrazek przeciągany jako drugi zastępował ten pierwszy obrazek, tzn. żeby pierwszy całkiem znikał a na jego miejscu był drugi (ewentualnie żeby ten drugi wskakiwał na wierzch a pierwszy "chował się" pod div'a)?

Mam taki kod:

  1. <style>
  2. #drop {border: 1px solid black;width:80px;height:80px;}
  3. </style>

  1. <div id="drop" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
  2. <img id="drag1" src="obrazek1.png" draggable="true" ondragstart="drag(event)" width="80" height="80">
  3. <img id="drag2" src="obrazek2.png" draggable="true" ondragstart="drag(event)" width="80" height="80">


[JAVASCRIPT] pobierz, plaintext
  1. <script>
  2. function allowDrop(ev) {
  3. ev.preventDefault();
  4. }
  5.  
  6. function drag(ev) {
  7. ev.dataTransfer.setData("text/html", ev.target.id);
  8. }
  9.  
  10. function drop(ev) {
  11. ev.preventDefault();[CSS][/CSS]
  12. var data = ev.dataTransfer.getData("text/html");
  13. ev.target.appendChild(document.getElementById(data));
  14. }
  15. </script>
[JAVASCRIPT] pobierz, plaintext




Pozdrawiam
Go to the top of the page
+Quote Post
r4xz
post 18.09.2014, 15:41:25
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


http://jsfiddle.net/uv8dma56/
http://jsfiddle.net/uv8dma56/1/

Zwróć uwagę co zwraca ev.target


--------------------
Go to the top of the page
+Quote Post
tomtheman
post 18.09.2014, 18:15:26
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.09.2011

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


Ok jak jest jeden div to działa tak jak powinno ale jak połączę więcej divów tak jak tu:

http://jsbin.com/gehibexuzine/1/edit

to dalej jest problem ze znikaniem drugiego obrazka po nałożeniu na pierwszy. Można obrazki dowolnie przenosić pomiędzy poszczególnymi divami do momentu aż chcę je oba przenieść do jednego diva.
Go to the top of the page
+Quote Post
r4xz
post 18.09.2014, 20:21:35
Post #4





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Linijka:
[JAVASCRIPT] pobierz, plaintext
  1. if( parent.id == 'drop' ) {
[JAVASCRIPT] pobierz, plaintext

Spróbuj tam wcisnąć:
indexOf oraz 'tile'

Więcej nie mogę podpowiedzieć... takie podstawy musisz sam załapać.


--------------------
Go to the top of the page
+Quote Post
tomtheman
post 19.09.2014, 09:16:52
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.09.2011

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


No właśnie kombinuję, kombinuje i same głupoty mi wychodzą a drugi obrazek jak znikał tak znika dalej.
Go to the top of the page
+Quote Post
r4xz
post 19.09.2014, 19:05:19
Post #6





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Nie powinienem tego robić, ale niech stracę... zamień wyżej wymienioną linijkę na:
[JAVASCRIPT] pobierz, plaintext
  1. if( parent.className.indexOf('tile') >= 0 ) {
[JAVASCRIPT] pobierz, plaintext


Polecam Ci kupić jakąś książkę o JS


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:32