【问题标题】:jquery drag and dropjquery拖放
【发布时间】:2011-03-24 22:17:14
【问题描述】:

我想知道如何使用以下代码克隆元素并将其附加到可放置区域:

    $(function() {
    $(".draggable").draggable();
    $(".item").droppable({
        drop: function(event, ui) {
            var $this = $(this);
            $this.append(ui.draggable);    

            var width = $this.width();
            var height = $this.height();
            var cntrLeft = width / 2 - ui.draggable.width() / 2;
            var cntrTop = height / 2 - ui.draggable.height() / 2;

            ui.draggable.css({
                left: cntrLeft + "px",
                top: cntrTop + "px"
            });
        }
    });
});

如果有人详细解释我,我会很高兴。请尝试在 Fiddle 中给我一个例子。它对我有很大帮助。谢谢。

感谢您的快速回复,是的,它很好,当我拖动克隆时它不起作用,我需要交换克隆到最近的位置。正如您在下面提到的示例中看到的那样放在目标上时不可拖动。

http://jsfiddle.net/kiran/brCX5/31/embedded/result/

网站链接是http://www.vitsoe.com/en/re/shop/606/sketchtool,您可以在其中看到我的意思,但在此链接中它只是附加的,但我需要将其丢弃,即.. 捕捉到最近的路径,当我丢弃相同的路径时图片应附在现有图片的下方,且不得重叠。

再次感谢您的回复。

感谢您的回复,我需要它完全相同,但发生的情况是,当我按照我之前所说的那样交换位置时,​​它不会捕捉到最近的坐标,因为我们首先拖放目标和一个更重要的是它正在添加图像,尽管 div 部分的末尾没有间隙,如果最后没有位置,它应该检查顶部或底部是否有间隙,它应该附加到图像否则它应该会恢复,请检查一下。

【问题讨论】:

  • 你想做什么?你有什么问题?
  • 我有点不确定你想做什么
  • 欢迎来到社区,请花点时间阅读StackOverflow FAQ
  • 当您想回复某人时,您可以对他们的回答发表评论。通常这需要更高的声誉,但既然你问了这个问题,你就可以回复任何人。不要编辑答案本身。

标签: jquery drag-and-drop snapping


【解决方案1】:

我想这就是你想要的: http://jsfiddle.net/maniator/brCX5/33/

$(function() {
    $(".draggable").draggable({
        helper: 'clone',
        snap: '.ui-droppable',
        snapMode: 'outer'
    });

    $(".droppable").droppable({
        accept: '.draggable',
        drop: function(event, ui) {
            var clone = $(ui.draggable).clone();
            $(this).append(clone);
            clone.removeClass('draggable')
            clone.draggable({
                snap: '.ui-droppable',
                snapMode: 'outer'
            });
        }
    });
});

像魅力一样工作 :-),欢迎您

【讨论】:

  • 尼尔这似乎不起作用,在某些情况下它会阻止。
  • @Marino 似乎是什么问题需要 -1?
  • 如果您将它们拖放到列中的第一个块上,则块会被移出列。
  • 不完全是,它工作不规律。有时是有时不是:/
  • @Marino,我不知道这是什么意思
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
相关资源
最近更新 更多