画面を 2 つに分割しましDIVた。左側DIVには 50x50 ピクセルDIVの s がいくつかあり、右側DIVには 80x80 s で作られた空のグリッドがありますLI。DIV左側の はドラッグ可能で、 にドロップすると、そのLIの中心にスナップする必要がありLIます。
シンプルですね。私はこれを成し遂げる方法を知りません。ドロップされたとCSS プロパティを操作して、それらDIVがドロップされたものと一致するようにしましたが、とプロパティは left に対して相対的です。topleftLIlefttopDIV
ドロップされた要素をドロップ先の要素の中心にスナップさせるにはどうすればよいですか? それは簡単なことですよね?
編集: jQuery 1.3.2 で jQuery UI 1.7.2 を使用しています。
編集2:この問題を抱えている他の人のために、これは私がそれを修正した方法です:
dropドラッグされた要素を削除し、ドロップ可能なプラグインのコールバックでドロップされた要素内に配置するという Keith のソリューションを使用しました。
function gallerySnap(droppedOn, droppedElement)
{
$(droppedOn).html('<div class="drop_styles">'+$(droppedElement).html()+'</div>' );
$(droppedElement).remove();
}
ドロップされた要素を再びドラッグ可能にすることはありませんが、そうする場合は、ドラッグ可能な要素を再度バインドするだけです。
私にとって、この方法は、ドロップされた要素を配置するときに発生した問題も解決しました (これは left に対して相対的ですDIV) DIV。(要素はページ上で固定されたままになりますが、スクロールするようになりました)。
ドラッグ中に見栄えを良くするためにスナップオプションをいじったので、その提案についてkarim79に感謝します。
これで素晴らしいコードの賞品を獲得することはおそらくないので、改善の余地がある場合は共有してください!