Вы были очень близки, ваша первая проблема заключалась в том, что вы назначали data
в своем операторе if, используя только один =
при назначении переменной, вывод всегда будет истинным, поэтому он всегда отправлялся в портфель- волокно. Во-вторых, при сравнении должно быть drag 1
, а не #drag 1
, вы можете увидеть это, поставив console.log(data)
перед операторами if, которые покажут вам, что хранится в переменной при просмотре консоли браузера.
Я считаю, что приведенный ниже блок кода должен теперь дать желаемый эффект.
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
if (data == "drag 1"){
window.open('portfolio-fiber', '_self',false).click();
}
else if (data == "drag 2"){
window.open('portfolio-paint', '_self',false).click();
}
else if (data == "drag 3"){
window.open('portfolio-other', '_self',false).click();
}
}