JQuery UI перетаскивания + проблема AJAX - PullRequest
0 голосов
/ 13 марта 2010

Я делаю настольную игру и использую перетаскиваемый эффект jquery ui для фигур. При начале перетаскивания я отправляю ajax-запрос на другую страницу, где я создаю сбрасываемые места, так что рисунок можно перетаскивать только в тех конкретных местах, но проблема в том, что мне нужно дважды передвинуть фигуру, чтобы получить эффект. Кто-нибудь знает, как решить эту проблему?

Буду очень признателен за помощь.

вот образец

$ (". Draggable2"). Draggable ({revert: 'invalid', начало: функция (событие, пользовательский интерфейс) {
var droppable_areas = "";

    for(var i = 0; i < array.length; i++)
    {
        //node
        var val1 = array[i].split(" ")[0];

        //node
        var val2 = array[i].split(" ")[1];  

        if(val1 == figure_ID) { 
            droppable_areas += val2 + ",";
        }

        if(val2 == figure_ID) {
            droppable_areas += val1 + ",";
        }
    }

    //droppable area
    $.post("map_positions.php", { droppable_areas: droppable_areas },
        function(data) {
            $("#imap").html(data);

            $(".droppable").droppable({                     
                drop: function(event, ui) {         

                    //id draggable element
                    var draggable_ID = ui.draggable.attr("id");
                    var moveFrom = draggable_ID.split("_")[1];                  
                    //console.log("Move from: " + moveFrom);

                    $(ui.draggable.element).remove();

                    //id droppable palces
                    var value = $(this).attr("id");
                    var moveTo = value.split("_")[1];   

                    //console.log("Move to: " + moveTo);

                    for(var i = 0; i < array.length; i++){
                        //nod
                        var val = array[i].split(" ")[0];

                        //nod
                        var val2 = array[i].split(" ")[1];                                  

                        var moveWith = array[i].split(" ")[2];  

                        if(((val == moveFrom) && (moveTo == val2)) || ((val2 == moveFrom) && (val == moveTo))){                                 

                            ui.draggable.attr("id","p_"  + moveTo); 

                            $("#p_" + moveTo ).draggable("disable");
                             break;
                        }                   


                    }                           


                }
            });

        }
    );


},
stop: function(event, ui) 
{   


}

});

1 Ответ

0 голосов
/ 14 марта 2010

я уже нашел соулитон в $ ('. Selector'). Draggable ({refreshPositions: true});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...