【发布时间】:2012-04-15 06:26:09
【问题描述】:
好的,所以我从另一个问题中获取了这个代码 sn-p 并且我一生都无法记住哪个问题,否则我只会尝试复活那个问题。这就是我想要完成的:
我有各种 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>
样式在这里应该很重要,但如果确实如此,我只需将它们设置为 100x100 像素,一红一蓝一绿。
【问题讨论】:
-
噢,我喜欢这个例子。仍然无法让它在我的网站上运行,但我相信我的问题来自将脚本放在错误的位置。我是第一次做 MVC3 应用程序,所以我在布局上有点粗略。我会纠正这个问题并在今晚试一试。
标签: jquery html jquery-ui web-applications jquery-ui-draggable