ОК, поэтому я взял этот фрагмент кода из других вопросов и не могу на всю жизнь вспомнить, какой, иначе я бы просто попытался воскресить этот вопрос.Вот что я пытаюсь выполнить:
У меня есть различные div и я хочу, чтобы я мог перетаскивать их и поменять их местами, поэтому, если я возьму красный квадрат и упаду на синий квадрат, они будутпоменяться местами (защелкнуться на своих местах).Я просто пытаюсь заставить действительно базовый код работать сейчас, и как только я его получу, я буду реализовывать разные таблицы стилей, когда они меняются местами, чтобы изменить содержимое и внешний вид.
Проблема, с которой я сталкиваюсь с текущим кодом, заключается в том, что когда я перетаскиваю его, он возвращается в исходное положение и создает дублирующий элемент div после моих других элементов div.Надеюсь, что это имеет смысл, вот jquery:
$(document).ready(function () {
src = null;
options = {
revert:true,
/*axis: 'x',*/
opacity: 0.8,
start: function() {
src = $(this).parent();
}
}
$(".item").draggable(options);
$(".container").droppable({
drop: function(event, ui) {
src.append(
$('.item', this).remove().clone()
.removeClass().addClass("item")
.css({"left": '', "opacity": '',"top":''})
.draggable(options)
);
$(this).append(
ui.draggable.remove().clone()
.removeClass().addClass("item")
.css({"left": '', "opacity": '',"top":''})
.draggable(options)
);
}
});
});
return this.pushStack( stack );
Разметка такая:
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Стилизация должна иметь значение здесь, но если это так, я просто установите их на 100x100px,один красный, один синий и один зеленый.