2015-03-05 8 views
2

Я пытаюсь создать простой Javascript, чтобы перетащить изображение. Затянутое изображение после перетаскивания должно восстанавливаться в исходном положении. Я пытаюсь что-то вроде этого, но, похоже, это не работает; она не регенерирует картину:Замените существующее изображение другим

Моя функция расслоение плотной:

var nPedY = 21; 
var nPedR = 21; 
var red = new Image(50,50); 
red.src = "red.png"; 

function allowDrop(ev) { 
ev.preventDefault(); 
} 

function drag(ev) { 
ev.dataTransfer.setData("text", ev.target.id); 
} 

function drop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data)); 
    if (data == "drag1"){ 
     document.getElementById("drag1").src = red.src; 
     console.log(nPedR); 
    } 
} 

И мой HTML разметка:

<tr> 
<td width="50px" height="50px"><img id="drag1" src="red.png" align="center" draggable="true" ondragstart="drag(event)"></td> 
<td width="50px" height="50px"><img id="drag2" src="yellow.png" align="center" draggable="true" ondragstart="drag(event)"></td> 
</tr> 

Может кто-нибудь дать мне подсказку? Благодарю.

+0

Вы получаете какие-либо ошибки? – Manwal

+0

Вам нужно клонировать элемент и отбрасывать – mohamedrias

+0

"* [После] перетаскивания и удаления ... *" где? –

ответ

0
function drop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data).cloneNode(true)); 
} 

Как только вы клонируете элемент, к нему может быть добавлена ​​только копия.

+0

спасибо большое! Он отлично работает. – FabioEnne

+0

И для того, чтобы избежать восстановления изображения, если значение счетчика равно нулю? заранее спасибо. – FabioEnne

+0

Проверьте счетчик и удалите/спрячьте элемент – mohamedrias

Смежные вопросы