HTML5拖放新图像并替换Div中的现有图像
HTML5 Drag and Drop new image and replace existing image inside a Div
好的,所以我可以使用拖放HTML5功能,但当我将图像拖动到div容器上,然后尝试将新图像拖动到同一容器中时,它不会更新到新图像,而是保留旧图像。有人知道我如何更新吗?我的代码低于
<style>
#Drop1 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
#Drop2 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
</style>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text/html", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("text/html");
var nodeCopy = document.getElementById(data).cloneNode(true);
nodeCopy.id = "newId";
ev.target.appendChild(nodeCopy);
}
</script>
<body>
<div id="Drop1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="Drop2" ondrop="drop(event)" ondragover="allowDrop(event)"> </div>
<img id="drag1" src="forward.png" draggable="true" ondragstart="drag(event)" width="64" height="64">
<img id="drag2" src="left.png" draggable="true" ondragstart="drag(event)" width="64" height="64">
</body>
一个好的解决方案是也使用jquery。
这个功能:
function itemInSpot(drag_item, spot) {
var oldSpotItem = $(spot).find('img');
if (oldSpotItem.length > 0) {
oldSpotItem.appendTo('#inventory').draggable({
revert: 'invalid'
});
}
var item = $('<img />');
item.attr('src', drag_item.attr('src')).attr('class', drag_item.attr('class')).appendTo(spot).draggable({
revert: 'invalid'
});
drag_item.remove(); // remove the old object
}
演示
相关文章:
- 只从DIV删除图像,而不是整个网站
- 下载Div&画布为一个图像
- 以Jquery为中心的Div中的图像对齐
- 从Div创建图像,并使用Javascript和ASP.net将其保存到服务器
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 点击一个按钮,有没有一种方法可以检查Div内部的图像
- HTML5拖放新图像并替换Div中的现有图像
- HTML JS在DIV中附加随机图像
- 根据容器 DIV 中的图像动态调整容器 DIV 的大小
- Div在单击图像时未执行slideTogle()
- 在Div中刷新图像,只更改文件内容,不更改名称
- 如何设置DIV背景图像css jquery
- 如何将SVG元素和Div放入图像中,以便用户可以下载
- 在使用IE9上传之前预览Div中的图像
- Div背景图像打印空白
- 链路翻转时的 DIV 背景图像交换
- 在加载 DIV 之前显示微调器图像
- 图像/DIV 元素切换全屏
- 通过 DIV 数据打开图像
- 显示/隐藏图像DIV