Autor | Zpráva | ||
---|---|---|---|
Someone Profil |
#1 · Zasláno: 7. 3. 2012, 21:01:07
Dobrý večer, dnes jsem tu již jednou řešil JavaScript a přesouvání objektu. Jednalo se o absolutně pozicovaný div, který se poté přesouval. Nyní mi jde o podobnou věc s tím, že se jedná o přesouvání divu v rámci jiného divu. V podstatě už něco mám, jenže se mi tam přesouvající se div jaksi škube. Nevíte co s tím? (ošetření, zda menší div nevyjel z většího dodělám později, teď mi jde jen o ten pohyb.) Děkuji za každou radu.
|
||
Str4wberry Profil |
#2 · Zasláno: 8. 3. 2012, 01:43:39
Háček je v tom, že se ta pozice při
onmousemove bere z elementu, nad kterým je zrovna myš. Pokud tedy najedeš na ten posouvatelný element, rázem skočí hodnota na nulu, načež zase na hodnotu toho nadřazeného prvku (protože odskočí jinam).
Jinak současné onmouseup u posouvatelného elementu pro zrušení akce není moc šťastné, jelikož k ukončení posunu může myš skončit i mimo něj. V takovém případě se hýbe i bez stisknutého tlačítka myši.
|
||
Someone Profil |
#3 · Zasláno: 8. 3. 2012, 01:52:52
Jestli tedy mohu poprosit o radu.... Jakým způsobem bych to měl řešit? (myslím to odskakování.)
|
||
Chamurappi Profil |
#4 · Zasláno: 8. 3. 2012, 01:55:45
Reaguji na Someone:
Pokud dělám podobné drag&drop věci já (viz různá táhla zde na diskusi), chytám jen onmousedown — při něm si zapamatuji aktuální pozici myši (klidně vůči obrazovce) a nastavím do document.onmousemove reakci na pohyb (při němž souřadnice myši porovnávám s těmi zapamatovanými) a do document.onmouseup úklid (vynull ování document.onmousemove i document.onmouseup ).
|
||
Someone Profil |
#5 · Zasláno: 8. 3. 2012, 01:58:54
Zkusím to na tomto principu, uvidím, co z toho vyleze. Jinak děkuju za radu.
|
||
Someone Profil |
#6 · Zasláno: 8. 3. 2012, 12:32:29
Chtěl bych Vám poděkovat za rady. Sesmolil jsem to a i přes to, že to není dokonalé se zdá, že to funguje.
|
||
Časová prodleva: 12 let
|
0