Zadejte hledaný výraz...

jquery UI draggable droppable

Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 19:09:18
Ahoj
najde se tu nejaky opravdovy jquery profik ktery by mi dokazal pomoct s "malickosti" ?
mam nekolik draggable boxu(divu) a nekolik droppable kontejneru(divu). a jde mi o to aby v jednim kontejneru mohl byt vzdy jen jeden box.
na pretahovani boxu a jejich akceptovani kontejnerem pouzivam jednoduchy kod
$(function() {
$(".ui-draggable").draggable({
revert: 'invalid',
});
$(".ui-droppable").droppable({
accept: '.ui-draggable',
drop: function(event, ui) {
$(this).addClass('red');
},
out: function(event, ui) {
$(this).removeClass('red');
},
});
});
zkousel jsem uz hodne veci a nic mi nefunguje
nahodou jsem nasel i jinou knihovnu u niz je v podstate hotovy ukazkovy priklad toho co chci: http://www.dhtmlgoodies.com/scripts/drag-drop-custom/demo-drag-drop-3.html
ale pouzivam jquery na jine veci takze bych to mel nejradej vse pomoci ni.
nepotrebuju zadne detaily jen vedet jak v jquery udelat ten limit aby jeden kontejner nebral dalsi box kdyz uz vnem jeden je.
naoplatku pomuzu treba s html.css nebo php
diky moc za jakoukoli pomoc
6. 9. 2009 19:09:18
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367681
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 19:20:43
http://docs.jquery.com/UI/Droppable#method-disable
zkus to takhle:
$(".ui-droppable").droppable({
accept: '.ui-draggable',
drop: function(event, ui) {
$(this).addClass('red');
$(this).droppable('disable');
},
out: function(event, ui) {
$(this).removeClass('red');
$(this).droppable('enable');
},
});
Ale drag&drop jsem v jQuery zatím nepotřeboval, tak si nejsem jistý.
6. 9. 2009 19:20:43
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367680
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 19:40:12
tohle me taky napadlo
$(this).droppable('disable');
tohle container zamkne presne jak potrebuji ale tim ze je zamceny uz nereaguje na out: takze uz ho takhle nelze odemknout
6. 9. 2009 19:40:12
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367679
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 20:00:07
A co http://docs.jquery.com/UI/Draggable#option-cancel ?
Kromě "red" tomu dávat ještě class "obsazeno" a pak tam podle toho napsat selector...
EDIT: ne, blbost, to je jen odkud se nedá draggovat.
Tak leda napsat, že když drag začne, tak všem droppable, které mají children nějaké class nastavit disable... a po skončení dragg zas enable
6. 9. 2009 20:00:07
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367678
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 20:16:56
Tak leda napsat, že když drag začne, tak všem droppable, které mají children nějaké class nastavit disable... a po skončení dragg zas enable
jenze on ten box nebude child. proste jen meni polohu pomoci css position.
a navic zmena class u droppable prvku nejak vubec nema vliv -puvodne jsem chtel pri drop: odstranit tridu .ui-droppable a pri aout ji zase pridat. jenze ikdyz jsem ji odstranil (dival jsem se pres firebug a opravdu zadnou nemel) tak do nej sel pridat dalsi box. - jako kdyby byla nejaka cache nebo si jquery znacilo prvky jeste nejak jinak
6. 9. 2009 20:16:56
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367677
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 20:34:49
jasně. Tam to podle mě funguje tak, že podle class ".ui-droppable" si vybere všechny elementy a udělá je dropovací. ale pak se ty elementy identifikují podle nějakého vnitřního ID, takže nezáleží jestli se mu class sebere, ale element si pamatuje, že je disablovanej.
Podle mě to může fungovat.
6. 9. 2009 20:34:49
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367676
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 21:01:53
jasně. Tam to podle mě funguje tak, že podle class ".ui-droppable" si vybere všechny elementy a udělá je dropovací. ale pak se ty elementy identifikují podle nějakého vnitřního ID, takže nezáleží jestli se mu class sebere, ale element si pamatuje, že je disablovanej.
nejak tak. jenze diky tomu mi pomalu dochazi napady.
posledni co me napadlo bylo pri polozeni boxu zjistit na ktery kontejner se poklada, kontejner zamknout a poznacit id kontejneru a id boxu a pri kazdem polozeni boxu kontrolovat zda je uz nekde polozen a kdyz je tak ten kontejner odemknout
- ale tady vubec netusim jak zjistit id kontejneru ma ktery presunu box. kdybych se ten box vlozil dovnitr kontejneru tak by to slo pres ten child ale tim ze se jen zmeni v css position...
6. 9. 2009 21:01:53
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367675
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 21:33:29
já myslel, že ti funguje to přidávání class, podle toho je můžeš identifikovat
6. 9. 2009 21:33:29
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367674
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 21:42:31
no tridu muzu pridat boxu i kontejneru ale netusim jak mi to pomuze.
jedine co jsem chtel bylo odstarneni nejake tridy aby pak container neprijimal box ale reagoval na jeho presunuti a to diky tem vnitrnim identifikatorum nejde.
6. 9. 2009 21:42:31
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367673
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 21:52:58
1) začneš dragovat
2) někam ho šoupneš a kontejneru dáš class "drag-full"
3) při každém dragování se všem droppable, ale zároveň "drag-full" dá disable
4) můžeš dragovat jen do prázdných
5) při dropnutí dáš všem droppable enable, aby jsi mohl draggovat pryč
6. 9. 2009 21:52:58
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367672
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 22:26:40
tohle uz je skoro ono. zustala jen jedna chybka
jak davas tridu dragg-full kdyz do kontejneru neco das tak kdyz box z kontejneru oddelavas tak ho zamknes takze dragg-full nejde odebrat po odemceni uz zase nepoznam z ktereho kontejneru jsem box oddelal. takze mi tam dragg-full zustavaji
6. 9. 2009 22:26:40
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367671
Martin Hujer
verified
rating uzivatele
(21 hodnocení)
6. 9. 2009 22:55:15
Tyjo, tak jsem to zkoušel, protože mě to taky začlo zajímat, a nepovedlo se. Protože prostě když element disabluju, tak se na něm 'out' prostě nezavolá :-( Už nevím, třeba bude vědět někdo jiný.
6. 9. 2009 22:55:15
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367670
Milan Holý
verified
rating uzivatele
(5 hodnocení)
6. 9. 2009 23:47:51
jedine snad pri zacatku draggovani vzit id kontejneru ktery je pod kurzorem mysi (ani nevim jestli je to mozne) a pri dropu odstranit tomu kontejneru stimhle id tu tridu.
6. 9. 2009 23:47:51
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367669
gengar
verified
rating uzivatele
(1 hodnocení)
7. 9. 2009 17:18:23
nepchaj do accept property ziadny selector ale radsej anonymnu funkicu ktora vyhodnoti,kolko prvkov triedy ktore moze akceptovat droppable uz v sebe ma a podla toho vrat true/ false ...
pisal som to z hlavy, verim ze tam nebude ziadna chyba, a ze sa tato uloha stane trapne jednoduchou..checkni ci to pojde, ak nie tak ti to vyspekulujem inak..
7. 9. 2009 17:18:23
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367668
Milan Holý
verified
rating uzivatele
(5 hodnocení)
7. 9. 2009 19:54:15
tohle bohuzel taky nefunguje. vzdy to vrati TRUE.
pokud to ma pocitat pocet prvku v danem droppable prvku tak to fungovat nemuze, protoze tam zadny nebude. prvky pouze meni pozici pomoci css position, nepresouvaji se do sebe.
7. 9. 2009 19:54:15
https://webtrh.cz/diskuse/jquery-ui-draggable-droppable#reply367667
Pro odpověď se přihlašte.
Přihlásit