Tôi đang sử dụng giao diện người dùng jquery và jQuery draggable
, tất cả draggables của tôi sử dụng jquery bản sao helper và gắn thêm các kéo-droppable.jQuery Draggables và Droppables vị
Đây là mã của tôi
$('#squeezePage #droppable').droppable({
tolerance: 'fit',
accept: '#squeezeWidgets .squeezeWidget',
drop: function(event, ui) {
var dropElem = ui.draggable.html();
var clone = $(dropElem).clone();
clone.css('position', 'absolute');
clone.css('top', ui.absolutePosition.top);
clone.css('left', ui.absolutePosition.left);
$(this).append(clone);
$(this).find('.top').remove();
$(this).find('.widgetContent').slideDown('fast');
$(this).find('.widgetContent').draggable({
containment: '#squeezePage #droppable',
cursor: 'crosshair',
grid: [20, 20],
scroll: true,
snap: true,
snapMode: 'outer',
refreshPositions: true
});
$(this).find('.widgetContent').resizable({
maxWidth: 560,
minHeight: 60,
minWidth: 180,
grid: 20,
});
}
});
Tôi đang thiết vị trí của các bản sao với .css('top', ui.absolutePosition.top);
và css('left', ui.absolutePosition.left);
nhưng vị trí này là tương đối so với BODY.
Vị trí không liên quan đến phân đoạn có thể kéo thả xuống các vị trí ngẫu nhiên. Nhìn chung, sự tích hợp có thể phân hủy và có thể kéo được không chặt chẽ. Tôi muốn làm cho nó mượt mà hơn.
nơi biến droppableOffset là jQuery ('# squeezePage #droppable'). Offset(); – Haris
Tôi đã dành rất nhiều giờ tìm kiếm một giải pháp tương tự .. cảm ơn bạn rất nhiều. –