Cytat
Witam,
mam następujący problem. Korzystając z biblioteki mintAjax zrobiłem DropZone i DragObject. Mniej więcej tak:
Na stronce biblioteki jest przykład, że elementy pierwotnie znajdują się poza kontenerem i dopiero po przeciągnięciu można ja tam wrzucić. To przeciągnięcie(a właściwie moment kliknięcia) jakby inicjuje elementy które z tych elementów statycznych stają się AJAX'owe(jeśli coś źle mówię to proszę poprawiać). z elementów statycznych stają się AJAX'owe chodzi mi o to, że jeżeli wygeneruję te elementy już w środku kontenera dropzone to dopiero po kliknięciu na dany element staje się ruchomy(Problem z tym, że nie kliknięte elementy nie uciekają przed innym elementem którym na nie najeżdżamy - a powinny. Dzieje się to dopiero gdy je klikniemy i zostaną jakby zainicjowane jako ruchome elementy kontenera).
Ktoś zna jakieś rozwiązanie problemu?
Mam nadzieję, że w miarę jasno opisałem problem:D
Dziękuję, Pozdrawiam
P.S. http://mintajax.pl/D...cja/DragObject/ | http://mintajax.pl/D...tacja/DropZone/ | http://mintajax.pl/P...ik/Drag-n-Drop/
Problem rozwiązany, jak znajdę chwilę to wrzucam rozwiązanie:D
mam następujący problem. Korzystając z biblioteki mintAjax zrobiłem DropZone i DragObject. Mniej więcej tak:
<ul id="dropzone"> <li id="dragobject0"></li> <li id="dragobject1"></li> <li id="dragobject2"></li> <li id="dragobject3"></li> <li id="dragobject4"></li> </ul>
Na stronce biblioteki jest przykład, że elementy pierwotnie znajdują się poza kontenerem i dopiero po przeciągnięciu można ja tam wrzucić. To przeciągnięcie(a właściwie moment kliknięcia) jakby inicjuje elementy które z tych elementów statycznych stają się AJAX'owe(jeśli coś źle mówię to proszę poprawiać). z elementów statycznych stają się AJAX'owe chodzi mi o to, że jeżeli wygeneruję te elementy już w środku kontenera dropzone to dopiero po kliknięciu na dany element staje się ruchomy(Problem z tym, że nie kliknięte elementy nie uciekają przed innym elementem którym na nie najeżdżamy - a powinny. Dzieje się to dopiero gdy je klikniemy i zostaną jakby zainicjowane jako ruchome elementy kontenera).
Ktoś zna jakieś rozwiązanie problemu?
Mam nadzieję, że w miarę jasno opisałem problem:D
Dziękuję, Pozdrawiam
P.S. http://mintajax.pl/D...cja/DragObject/ | http://mintajax.pl/D...tacja/DropZone/ | http://mintajax.pl/P...ik/Drag-n-Drop/
Problem rozwiązany, jak znajdę chwilę to wrzucam rozwiązanie:D
A więc, aby wszystko ładnie działało trzeba zainicjować elementy po dodaniu do DropZone.
Więc mamy naszą listę:
<ul id="dropzone"> <li id="dragobject0"></li> <li id="dragobject1"></li> <li id="dragobject2"></li> <li id="dragobject3"></li> <li id="dragobject4"></li> </ul>
Element <ul></ul> jest naszym DropZone'm a kolejne elementy <li></li> są obiektami Drag&Drop które możemy przeciągać&upuszczać
W kodzie js inicjujemy DropZone
mint.gui.RegisterDropZone("dropzone");Potem inicjujemy element li jako D&D
mint.gui.RegisterDragObject('dragobject1').SetBBox("dropzone");
mint.gui.RegisterDragObject('dragobject2').SetBBox("dropzone");
mint.gui.RegisterDragObject('dragobject3').SetBBox("dropzone");
mint.gui.RegisterDragObject('dragobject4').SetBBox("dropzone");i dodatkowo ustalamy BBox odpowiednią metodą aby nie dało wyciągnąć się elementów poza dropzone(patrz: Dokumentacja)
Tak i to jest moment w którym jest dropzone i elementy w nim, ale aktywują się dopiero po kliknięciu. Trzeba je zainicjować.
Do tego uzyjemy uproszczonej metody LoadItems z biblioteki mintAjax. Metoda LoadItems istniejąc w bibliotece, ładuje elementy z adresu url, my zrobimy tak, że będzie je ładować z listy(kolejne element oddzielone ','):
LoadItemsList: function(list) {
var that = this;
var list1 = list.split(",");
for(var i in list) {
if($D(list1[i]) && $D(list1[i]).dragObject) that.InsertItem(list1[i]);
}
that.onloadDone(list1);
},Metoda należy wkleić do pliku z biblioteką mintAjax najlepiej pod metodą LoadItems. Teraz należy do naszego kodu js dopisać jeszcze
var list = dragobject1,dragobject2,dragobject3,dragobject4; dropZone.LoadItemsList(list);
I wszystko powinno działać
Mam nadzieję, że opisałem wszystko w miarę przejrzyście. Do poprawnego działania oczywiście należy do pliku html dołączyć bibliotekę mintAjax. I oczywiście przydało by się formatowanie elementów listy w CSS(najlepiej nadać im atrybut display: block;). Może kiedyś się komuś przyda.
Pozdrawiam:D
P.S. Nie robiłem już ostatecznego podsumowania w stylu cały kod razem żeby post nie był nie wiadomo jak długi, jeśli jest jednak potrzebne mogę dodać

Logowanie
Rejestracja
Pomoc
Dodaj odpowiedź

Cytuj