我有一个<div>
包含三个带有“droppable”类的图像。该表有四行,图像位于最后一个<td>
元素内。
HTML看起来像这样:
<div id="box_container">
<img id="empty_box1" class="droppable" src="images/tom.png" />
<img id="empty_box2" class="droppable" src="images/tom.png" />
<img id="empty_box3" class="droppable" src="images/tom.png" />
</div>
<td><img id="" class="draggable" src="images/image1.png" /></td>
以下是如下布局的图片:
表格中的图像可拖动到表格上方的空白框中。这些框由一个白色空间图像组成,我希望该图像的来源更改为已放入空框中的图像。
以下是我目前阶段的代码:
$(document).ready(function () {
$(".draggable").draggable({
revert: true,
snap: ".droppable",
snapMode: "inner"
});
$("#tabellen").tablesorter();
$(".droppable").droppable({
accept: ".draggable",
drop: function () {
console.log(this);
var new_pic = $('.draggable').attr('src');
$(this)
.attr('src', new_pic)
.attr('width', 150)
.attr('height', 150)
.addClass('zoomable');
}
});
});
答案 0 :(得分:1)
在drop
事件回调中,您可以通过第二个参数的draggable
属性(通常命名为ui
)访问已删除的可拖动元素。你可以将它的来源复制到droppable,如下所示:
$(".draggable").draggable({
helper: "clone",
revert: "invalid"
});
$(".droppable").droppable({
drop: function(event, ui) {
$(this).attr("src", ui.draggable.attr("src"));
}
});
img {
width: 100px;
height: 100px;
}
.draggable {
background: hotpink;
float: left;
}
.droppable {
float: right;
background: dodgerblue;
}
<link href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<img class="draggable" src="http://i49.tinypic.com/28vepvr.jpg" />
<img class="droppable" src="" alt="Drop Here!" />