Autor Zpráva
avaster
Profil
Zdravim,
vytvoril som si jednoduchy script, ktory v podstate funguje ako ma, ale bohuzial nie stale.

$(document).ready(function(){
    var stopLeft = 0;//premenne na ktorych suradniciach tahanie mysou prekrocilo 200px od povodneho umiestnenia prvku
    var stopTop  = 0;//
    
    $('#draggable').draggable({        
        scroll: false,
        cursor: 'move',
        drag: function(event, ui){//pocas tiahnutia            
            rozdielLeft = ui.offset.left - stopLeft;
            rozdielTop  = ui.offset.top - stopTop;
            
            if((rozdielLeft == 200 || rozdielLeft == -200) || (rozdielTop == 200 || rozdielTop == -200)){//ak posun prvku prekrocil 200px od povodnej hodnoty
                $("#draggable").load("obsah.php", {x: ui.offset.left, y: ui.offset.top});
                
                if(rozdielLeft == 200 || rozdielLeft == -200){//do premennych ulozit, na ktorej pozicii sa tiahnutie prekrocilo o 200px
                  stopLeft = ui.offset.left;
                }else{
                  stopTop  = ui.offset.top;
                }
                
                $('#top').html(ui.offset.top);
                $('#left').html(ui.offset.left);   
            }
        }        
    });  
});


Vsetko funguje ako ma, ale iba ked tym draggable prvkom hybem uplne pomalicky. Ak nim pohnem rychlo a prekrocim tu hranicu 200px tak to vobec nezareaguje ze to tych 200px od poslednej hodnoty stopLeft (stopTop) prekrocilo.

Predpokladam, ze je to chyba vo vykonnosti. Ze ked pohnem prvkom prilis rychlo, tak to nestihne vykonat "drag funkciu" dostatocny pocet krat a teda sa nikdy nesplni podmienka.

Dakujem za vsetky napady na upravu :)
Radek9
Profil
avaster:
Tak tam nedávej přímo ==, ale pohraj si s >= a <=.
avaster
Profil
Tento sposob by sice odstranil tu chybu, ze to nereaguje pri rychlo tahani, ale v podstate by mi nepomohol. Pretoze potrebujem, aby to reagovalo presne na posunuti o 200px.
Chamurappi
Profil
Reaguji na avastera:
ked pohnem prvkom prilis rychlo, tak to nestihne vykonat "drag funkciu" dostatocny pocet krat
Myš se nepohybuje po jednotlivých pixelech, po obrazovce skáče. Nemůžeš počítat s tím, že ji chytíš na určitém pixelu uprostřed její dráhy.
peta
Profil
http://docs.jquery.com/UI/Draggable
Ten example fungue. Dej link na tvuj nebo cely kod a pak popis, co se tam kdy deje.
Co na tom examplu neni uplne dobre, ze, kdyz se dostanes mimo oblast, neprovede se dropnuti objektu k okrajum.

Zajimavy je i seznam tech parametru pod examplem.
Napr:
* revertDuration
* snap

google = jquery draggable example

http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html
36) Sortables
http://interface.eyecon.ro/demos/sort.html
37) Draggables and droppables
http://interface.eyecon.ro/demos/drag_drop_tree.html

http://interface.eyecon.ro/demos/drag.html ***

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0