我想知道如何将元素捕捉到网格的中心。在小提琴中,您可以看到该元素捕捉到边缘,而不是捕捉到中心。 (如何)可以快速对齐中间?

http://jsfiddle.net/CbESD/

HTML:

<div id="draggable">drag</div>
<div id="droppable">drop</div>


JS:

$('#draggable').draggable({
    snap: '#droppable',
    snapMode: 'inner'
});

$('#droppable').droppable({});

最佳答案

我找不到执行此操作的简单方法,因此我为可拖动的对象创建了一个隐藏的帮助div。它位于可放置div内,并且将捕捉设置为该位置,而不是可放置本身。这应该非常完美地模拟中心对齐。

jsFiddle example

jQuery的

$('#draggable').draggable({
    snap: '#helper',
    snapMode: 'inner'
});
$('#droppable').droppable({});
$('#draggable').clone().html('').prop('id', 'helper').appendTo('#droppable').removeClass('ui-draggable')


的CSS

#draggable {
    width: 200px;
    height: 200px;
    border: 2px solid;
    background: red;
    margin-bottom: 10px;
    z-index:1;
}
#droppable {
    width: 350px;
    height: 350px;
    border: 2px solid;
    background: gray;
    position:relative;
}
#helper {
    border: 2px solid transparent;
    position: absolute !important;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    width: 200px;
    height: 200px;
}

关于jquery - jQuery UI可拖放:将元素捕捉到网格中心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24432654/

10-13 00:28