Javascript 拖放在拖动时更改图像

Javascript 拖放在拖动时更改图像,javascript,html,css,drag-and-drop,Javascript,Html,Css,Drag And Drop,在我的网站上,我得到了这个绿色的小沙发。我需要: 1。当您开始拖动它时,沙发会将图像更改为一个大的绿色沙发吗?大绿色沙发的链接是 2.当你把沙发放在房间的地板上时,它仍然是大沙发。3.如果你选择再把它放回桌子上(#div1),它会再次变成绿色的小沙发。 我的代码: $(文档).ready(函数(){ $('#div2')。关于(“drop”,函数(e){ e、 预防默认值(); e、 停止传播(); }); }); 功能allowDrop(ev){ ev.preventDefault();


在我的网站上,我得到了这个绿色的小沙发。我需要:

1。当您开始拖动它时,沙发会将图像更改为一个大的绿色沙发吗?大绿色沙发的链接是
2.当你把沙发放在房间的地板上时,它仍然是大沙发。
3.如果你选择再把它放回桌子上(#div1),它会再次变成绿色的小沙发。

我的代码:

$(文档).ready(函数(){
$('#div2')。关于(“drop”,函数(e){
e、 预防默认值();
e、 停止传播();
});
});
功能allowDrop(ev){
ev.preventDefault();
}
功能阻力(ev){
ev.dataTransfer.setData(“文本”,ev.target.id);
}
功能下降(ev){
ev.preventDefault();
var data=ev.dataTransfer.getData(“文本”);
var-temp=null;
如果(ev.target.nodeName=='IMG'){
温度=$(ev.目标);
$(ev.target).parent().empty().append(document.getElementById(data));
$('#div1')。附加(临时);
}
其他的
ev.target.appendChild(document.getElementById(数据));
}
$(文档)。在(“单击”上,“#tapetsmall”,函数(){
document.getElementById(“墙”).src=”http://i.imgur.com/Ptv1Lnh.png";
});
正文{
背景#0c3c66;
高度:416px;
}
#等等{
位置:绝对位置;
顶部:calc(50%-235px);
左:计算(50%-345px);
转换:翻译(-50%,-50%);
}
#地板{
顶部:116px;
左:393px;
位置:绝对位置;
边缘底部:10px;
高度:40px;
宽度:65px;
背景图像:url(“http://i.imgur.com/tCuykFV.png")
}
#地板img{
位置:绝对位置;
底部:12;
左:2;
}
#地面:悬停{
背景图像:url(“http://i.imgur.com/cEpWRTx.png")
}
/*
丁:停下来{
-webkit过滤器:投影(1px 1px 0白色)
投影(-1px 1px 0白色)
投影(1px-1px 0白色)
阴影(-1px-1px 0白色);
}
*/
#第三组{
顶部:0px;
右:0px;
位置:绝对位置;
边框:1px实心#CCC;
边缘底部:10px;
身高:100%;
宽度:275px;
}
#第四组{
顶部:0px;
右:0px;
位置:相对位置;
边框:1px实心#CCC;
高度:100px;
宽度:275px;
}
#掷骰子{
宽度:56px;
高度:79px;
}
#墙{
位置:绝对位置;
顶部:0px;
左:0px;
宽度:688px;
高度:338px;
边界:0px;
}
#菜单区{
位置:绝对位置;
顶部:416px;
左:0px;
不透明度:0.5;
背景色:#0c3c66;
宽度:688px;
高度:50px;
颜色:白色;
}

1。当您开始拖动它时,沙发会将图像更改为一个大的绿色沙发?

您可以使用
ev.dataTransfer.setDragImage()
将图像更改为大图像

2。当你把沙发放在房间的地板上时,它仍然是大的。

当您调用ev.target.appendChild()时,您可以检查它是否为“floor”,如果是,则可以附加大版本图像

3。如果您选择再次将它放回桌上(#div1),它将再次换成绿色的小沙发。

这与问题2的问题相同:检查它是否为“div1”,如果为,则附加小版本图像

以下是一个简化的示例:

window.allowDrop=函数(ev){
ev.preventDefault();
}
window.drag=函数(ev){
var img=document.createElement(“img”);
img.src=http://cdn.habtium.com/furni/items/big/1.gif';
电动汽车数据传输装置(img,10,10);
ev.dataTransfer.setData(“ori”,ev.target.id);
}
window.drop=功能(ev){
ev.preventDefault();
if(ev.target.id==ev.dataTransfer.getData(“ori”)){
返回;
}
var img=document.createElement(“img”);
img.id='targetId_u2;'+Math.random();
img.draggable=true;
img.addEventListener('dragstart',drag);
如果(ev.target.id=='div2'){
img.src=http://cdn.habtium.com/furni/items/big/1.gif';
}否则如果(ev.target.id=='div1'){
img.src=http://lolk3070.dk/roomtest/look/club_small.gif';
}
var originEle=document.getElementById(ev.dataTransfer.getData(“ori”));
originEle.outerHTML='';
删除原文;
ev.目标儿童(img);
}
#第1部分{
浮动:左;
宽度:100px;
高度:35px;
利润率:10px;
填充:10px;
边框:1px纯黑;
}
#第二组{
浮动:左;
宽度:200px;
高度:150像素;
利润率:10px;
填充:10px;
边框:1px纯黑;
}
拖放
在两个div元素之间来回拖动图像


1。当您开始拖动它时,沙发会将图像更改为一个大的绿色沙发?

您可以使用
ev.dataTransfer.setDragImage()
将图像更改为大图像

2。当你把沙发放在房间的地板上时,它仍然是大的。

当您调用ev.target.appendChild()时,您可以检查它是否为“floor”,如果是,则可以附加大版本图像

3。如果您选择再次将它放回桌上(#div1),它将再次换成绿色的小沙发。

这与问题2的问题相同:检查它是否为“div1”,如果为,则附加小版本图像

以下是一个简化的示例:

window.allowDrop=函数(ev){
ev.preventDefault();
}
window.drag=函数(ev){
var img=document.createElement(“img”);
img.src=http://cdn.habtium.com/furni/items/big/1.gif';
电动汽车数据传输装置(img,10,10);
ev.dataTransfer.setData(“ori”,ev.target.id);
}
window.drop=功能(ev){
ev.preventDefault();
if(ev.target.id==ev.dataTransfer.getData(“ori”)){
返回;
}
var img=document.createElement(“img”);
img.id='targetId_u2;'+Math.random();
img.draggable=true;
img.addEventListener('dragstart',drag);
如果(ev