czy można powiedzieć "przeciągalne elementy div -> no overlap"?Przenoszenie JQuery - brak nakładania się
Myślę, że głównym problemem jest pozycja: bezwzględna; ... dobrze?
rodzaj reagards Peter
czy można powiedzieć "przeciągalne elementy div -> no overlap"?Przenoszenie JQuery - brak nakładania się
Myślę, że głównym problemem jest pozycja: bezwzględna; ... dobrze?
rodzaj reagards Peter
Nie ma wbudowaną funkcję wykrywania kolizji w jQuery UI draggable, chyba że jesteś faktycznie po czymś sortowania. Najbliższą rzeczą, która jest wbudowana w to, co chcesz, jest pseudonim sortable, which looks like this.
Skrócona wersja to wykrywanie kolizji z każdym przeciągniętym elementem, nie jest trywialne pod względem wydajności (w zależności od liczby elementów), więc zostało pominięte w bibliotece, ponieważ jest bardzo rzadkim żądaniem. Możesz jednak samemu obliczyć kolizje wewnątrz draggable's drag
event, jeśli naprawdę potrzebujesz wykrywania kolizji.
Możesz spróbować jquery-collision plus jquery-ui-draggable-collision. Pełne ujawnienie: Właśnie napisałem i wypuściłem je na sourceforge.
Pierwszy pozwala na to:
var hit_list = $("#collider").collision(".obstacle");
który lista wszystkich ".obstacle", które pokrywają "#collider".
Drugi pozwala na:
$("#collider").draggable({ obstacle: ".obstacle" });
co daje (między innymi), jest "kolizja" zdarzenie wiąże się z:
$("#collider").bind("collision", function(event,ui){...});
I można nawet ustawić:
$("#collider").draggable({ obstacle: ".obstacle", preventCollision: true });
, aby zapobiec "nakładaniu się" #collidera na jakikolwiek ".obstacle" podczas przeciągania.
Nie działa w 100% z wersją jQuery 1.8.20. Alternatywą jest użycie dostarczonej wersji 1.8.12 – 321X
@ 321X - dziękuję, sprawdzę, dlaczego nie działa z 1.8.20 - czy mógłbyś złożyć zgłoszenie błędu na sourceforge na przykład, proszę? – eruciform
@ 321X - zaktualizowano bibliotekę. powinien teraz działać z wersją 1.8.20. – eruciform
Witaj Peter, nie wiemy, ponieważ zapomniałeś podać przykład tego, co robisz! Możemy zgadywać, że używasz pozycji: absolutnie gdzieś, i niektórych div, ale nie wiemy nic więcej! – Fenton