解決了這個。
而不是交換元素的位置,我使用以下從可拖動droppable div中提取子html,然後將其附加到它們各自的div中,從而保持calc()值。
$(".ClassofSwappableElement").draggable({
stack: ".ClassofSwappableElement",
distance: 0,
revert: "invalid",
opacity: 0.5,
helper: "clone"
});
$(".ClassofSwappableElement").droppable({
accept: ".ClassofSwappableElement",
drop: function(evt, ui) {
var draggable = ui.draggable,
draggablebgc = ui.draggable.children().css('background-color'),
draggablevalue = ui.draggable.attr('value'),
droppable = $(this),
droppablebgc = $(this).children().css('backgroundColor'),
droppablevalue = $(this).attr('value');
draggable.attr('value', droppablevalue);
droppable.children('.ClassofChildYouWanttoChangeBgColorof').css({ backgroundColor: draggablebgc });
droppable.attr('value', draggablevalue);
draggable.children('.ClassofChildYouWanttoChangeBgColorof').css({ backgroundColor: droppablebgc });
var drophtml = droppable.html(),
draghtml = draggable.html();
droppable.empty();
draggable.empty();
droppable.append(draghtml);
draggable.append(drophtml);
注:需要jQueryUI的
請發表您的代碼在這裏,所以我們可以提供幫助。 –