Jquery 拖放切换新元素的可拖动元素

标签 jquery drag-and-drop

我对 Jquery 真的很陌生。我被要求制作一些拖放功能。我设法找到了许多资源,这些资源使我得到了一个简单的结果。 (http://jsfiddle.net/TgQTP/14/)。

缺少的是我想要一个开关功能。 例子: 当将蓝色方 block 拖动到已经附加了另一个方 block (X)的“.droppable”上时,我希望蓝色方 block 替换 X 并使 X 返回到特定位置。 X 可以通过动画返回或仅通过附加动画返回。

我的问题是不知道如何进行“切换”。

最佳答案

您可以在 jsFiddle ( http://jsfiddle.net/TgQTP/14/ ) 中使用它执行拖放和切换:

$('.draggable').each(function(index, div) {

    var scope = $(this).attr('data-scope');

    $(div).draggable({

        stop: function() {

            $('.droppable').droppable('option', 'disabled', false);

        },

        helper: 'clone'

    });

});

$('.droppable').droppable({      

    drop: function(event, ui) {

        var x = $(this).find('.draggable');

        if (! ($(this).attr('id') === 'bank')) {

            if (! x.length){

                $(this).append(ui.draggable);       

            } 

        } else {

            $('#bank').append($('.ui-draggable', this));

            $(this).append(ui.draggable);

        }            
    }

});

完整的 jsFiddle: http://jsfiddle.net/xWZcj/

要在方形开关返回上添加动画,请尝试以下操作:http://jsfiddle.net/xWZcj/1/

您可以切换出去:

$('#bank').append($('.ui-draggable', this).hide().fadeIn(600));

使用 jQuery UI 提供的各种其他动画 ( http://docs.jquery.com/UI/Effects ) ​

关于Jquery 拖放切换新元素的可拖动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11860806/

相关文章:

php - 使用具有可复制输入的 jquery ajax 上传图像

javascript - MVC5 : Posting JSON via Ajax not correctly passing data to Controller?

javascript - 在 HTML 中使用拖放 jQuery 实现填空

actionscript-3 - Flash AS3 - 将多个对象拖放到一个目标?

javascript - 将 jquery 1.4.2 升级到 1.5.1 的问题

jquery - Web API OWIN 从 $.AJAX POST withCredentials :true 接收空数据

javascript - 在 updatePanel 上回发后添加额外的 javascript

c# - 将目标放置在嵌套控件中

user-interface - QML 拖动一个组件,就好像它具有顶部堆叠顺序(最大 z)

C# WinForms - 在同一个 TreeViewControl 中拖放