画面を 2 つに分割しましDIV
た。左側DIV
には 50x50 ピクセルDIV
の s がいくつかあり、右側DIV
には 80x80 s で作られた空のグリッドがありますLI
。DIV
左側の はドラッグ可能で、 にドロップすると、そのLI
の中心にスナップする必要がありLI
ます。
シンプルですね。私はこれを成し遂げる方法を知りません。ドロップされたとCSS プロパティを操作して、それらDIV
がドロップされたものと一致するようにしましたが、とプロパティは left に対して相対的です。top
left
LI
left
top
DIV
ドロップされた要素をドロップ先の要素の中心にスナップさせるにはどうすればよいですか? それは簡単なことですよね?
編集: 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に感謝します。
これで素晴らしいコードの賞品を獲得することはおそらくないので、改善の余地がある場合は共有してください!