如何使用Draggable和Droppable交换2个项目?

 权志龙qzl818_734 发布于 2023-02-14 03:56

我的解决方案可能不是最优雅的(也许某人可以提供更直观的东西?),但似乎它有效;)

小提琴:http://jsfiddle.net/W9Z46/14/

(function ($) {
    var lastPlace;

    $("#choises li img").draggable({
        revert: true,
        zIndex: 10,
        snap: "#answers li",
        snapMode: "inner",
        snapTolerance: 40,
        start: function (event, ui) {
            lastPlace = $(this).parent();
        }
    });

    $("#answers li").droppable({
        drop: function (event, ui) {
            var dropped = ui.draggable;
            var droppedOn = this;

            if ($(droppedOn).children().length > 0) {
                $(droppedOn).children().detach().prependTo($(lastPlace));
            }

            $(dropped).detach().css({
                top: 0,
                left: 0
            }).prependTo($(droppedOn));
        }
    });
})(jQuery);

正如你所看到的那样,我只是保留你在变量中lastPlace开始拖拽的地方,然后当你放下并检查某些东西时,你将它放在你之前开始拖动的地方.

1 个回答
  • 我的解决方案可能不是最优雅的(也许某人可以提供更直观的东西?),但似乎它有效;)

    小提琴:http://jsfiddle.net/W9Z46/14/

    (function ($) {
        var lastPlace;
    
        $("#choises li img").draggable({
            revert: true,
            zIndex: 10,
            snap: "#answers li",
            snapMode: "inner",
            snapTolerance: 40,
            start: function (event, ui) {
                lastPlace = $(this).parent();
            }
        });
    
        $("#answers li").droppable({
            drop: function (event, ui) {
                var dropped = ui.draggable;
                var droppedOn = this;
    
                if ($(droppedOn).children().length > 0) {
                    $(droppedOn).children().detach().prependTo($(lastPlace));
                }
    
                $(dropped).detach().css({
                    top: 0,
                    left: 0
                }).prependTo($(droppedOn));
            }
        });
    })(jQuery);
    

    正如你所看到的那样,我只是保留你在变量中lastPlace开始拖拽的地方,然后当你放下并检查某些东西时,你将它放在你之前开始拖动的地方.

    2023-02-14 04:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有