として配置された一連の画像がありますposition:relative
(隣り合って表示されます)。
このコードを使用してドラッグ アンド ドロップします (jQuery API ドキュメントから盗み、必要に応じて変更しました)。
$(function() {
$( ".draggable" ).draggable({
start: function(event, ui) {
// Show start dragged position of image.
var Startpos = $(this).offset();
$("div#start").text("START: \nLeft: "+ Startpos.left + "\nTop: " + Startpos.top);
pos_left = Startpos.left; //pos_left is global
pos_top = Startpos.top; //pos_top is also global
},
stop: function(event, ui) {
// Show dropped position.
var Stoppos = $(this).offset();
$("div#stop").text("STOP: \nLeft: "+ Stoppos.left + "\nTop: " + Stoppos.top);
$(this).css('position', "fixed"); //tried absolute and relative, too
$(this).css('left', pos_left);
$(this).css('top', pos_top);
}
});
$( ".droppable" ).droppable({
drop: function( event, ui ) {
id = $(this).attr('id');
alert(id);
}
});
});
私がやろうとしているのは、ユーザーがドロップした後、ドラッグ可能な要素を初期位置に戻すことです。ただし、私の要素は最初の左に相対的に配置されているため、上の座標はすべて同じです (または、これはドキュメントから理解していることです。ここで間違っている可能性があります)。そのため、画像は返されますが、実際にはそれぞれが他の画像の上に積み重ねられます。
私は何を間違っていますか?私はどうしたらいいですか?