Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] położenie div-ów względem siebie - js
Forum PHP.pl > Forum > Przedszkole
Ignaces
Witam,
mam taki problem,że chciałbym zrobić coś w takim stylu że mam jednego diva , i napisany skrypt do drag and drop. no i teraz w momencie upuszczenia elementu sprawdzam jego pozycje. no i jeśli znajduje się nad innym divem (ma tu duze znaczenie nad którym bo jest 10 do wyboru) to wykonuj sie jakaś akcja. No i wszystko mam zrobione właściwie tylko to sprawdzanie czy podnoszony div jest nad innym mi nie wychodzi. bo narazie mam to zrobione w ten sposób ze sprawdzam sobie czy np: polozenie myszki w chwili upuszczenia jest x<200 and x>100 i y<50 i y>25 na przykład oczewiście. tylko że mam layout płynny i szerokość docelowego miejsca upuszczenia ma 20% i w przypadku gdy ktoś ma inna rozdzielczość skrypt się wyłoży bo miejsce na upuszczenie diva zmieni pozycje.
Nie ma ktos pomyslu jak to zrobic lepiej?

//acha i pomysł z np sprawdzaniem pozycji tego miejsca docelowego. też raczej odpada ze wzgledu na ilosc tych miejsc. najlepsze by było coś w stylu if(jedendiv nad drugidiv). Wie ktoś jak można to fajnie rozwiązać?
pozdro
Glarden
  1. div1 = document.getElementById("div1");
  2. x = div1.style.left;
  3. y = div1.style.top;
  4. div2 = document.getElementById("div2");
  5. x2 = div2.style.left;
  6. y2 = div2.style.top;
  7. if (x == x2 || y == y2) {
  8. alert ("Kupa! Chciałoby się!");
  9. }
  10. else {
  11. //upuść diva
  12. }
Ignaces
Cytat
//acha i pomysł z np sprawdzaniem pozycji tego miejsca docelowego. też raczej odpada ze wzgledu na ilosc tych miejsc. najlepsze by było coś w stylu if(jedendiv nad drugidiv). Wie ktoś jak można to fajnie rozwiązać?
pozdro


hm.. może źle to ubrałem w słowa. no ale właśnie chodziło mi o to żeby takiego rozwiązania nie robić. Jest na to jakiś inny sposób?
bo
  1. div1 = document.getElementById("div1");
  2. x = div1.style.left;
  3. y = div1.style.top;

takich linijek musiał bym zrobić strasznie dużo. zwłaszcza że chciałbym jeszcze uwzględnić inne sytuacje czyli np:
  1. x=document.layers["div1"].left;
  2. y=document.layers["div1"].top;
  3.  
  4. x=document.all["div1"].offsetLeft;
  5. y=document.all["div1"].offsetTop;
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.