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