我把我的屏幕分成了两个DIV
。在左边DIV
我有几个 50x50 像素DIV
,在右边DIV
我有一个由 80x80 组成的空网格LI
。左边的DIV
s 是可拖动的,一旦放在 a 上LI
,它们应该对齐到 的中心LI
。
听起来很简单,对吧?我只是不知道如何完成这件事。我尝试通过操纵 dropDIV
的 'stop
和left
CSS 属性来匹配LI
它们被放入的那些,但是left
andtop
属性是相对于 left 的DIV
。
我怎样才能最好地让放置的元素捕捉到它放置的元素的中心?这一定很简单,对吧?
编辑:我将 jQuery UI 1.7.2 与 jQuery 1.3.2 一起使用。
编辑2:对于其他有此问题的人,这就是我修复它的方法:
我使用了 Keith 的解决方案,即删除拖动的元素并将其放置在drop
droppable 插件回调中的 drop-on 元素中:
function gallerySnap(droppedOn, droppedElement)
{
$(droppedOn).html('<div class="drop_styles">'+$(droppedElement).html()+'</div>' );
$(droppedElement).remove();
}
我不再将放置的元素再次拖动,但如果这样做,只需将可拖动元素再次绑定到它。
对我来说,这种方法还解决了我在放置放置的元素(相对于 left DIV
)和在第二个内部滚动时遇到的问题DIV
。(元素将保持固定在页面上,现在它们滚动)。
我确实使用了捕捉选项以使其在拖动时看起来不错,因此感谢 karim79 的建议。
我可能不会因此赢得任何 Awesome Code 奖品,所以如果您看到改进的空间,请分享!