jquery - 使用可拖动图像更改可放置图像的图像源

标签 jquery jquery-ui draggable jquery-ui-draggable jquery-ui-droppable

我有一个<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>

下面是布局的图片:

enter image description here

表格中的图像可拖动到表格上方的空框中。这些框由空白图像组成,我希望该图像的源更改为已放入空框的图像。

以下是我现阶段的代码:

$(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');
    }
  });
});

最佳答案

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!" />

关于jquery - 使用可拖动图像更改可放置图像的图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27102713/

相关文章:

javascript - 如何在 jquery 中的 dbclick 上更改单选按钮的原始颜色

javascript - 与 jquery ui 可排序和选项卡作斗争(想在选项卡周围移动项目)

javascript - Jquery Draggable UI 覆盖了可拖动的 div 中 HTML 元素的正常浏览器行为

javascript - 如何使用 React 使 blueprintJs 对话框可拖动?

javascript - 获取嵌入在jquery表中的标签

javascript - 使用 Jquery UI droppable 访问 Backbone.js View 对象

javascript - 在 1.6 中的 jquery 事件处理程序中面临问题,而不是在最新版本中。

jquery ui autocomplete _renderItem 似乎干扰 select 事件

javascript - jQuery UI slider 异构性

javascript - 使用jQuery UI Draggable,使用滚动条时如何避免拖动?