我刚刚开始学习基本的JavaScript,而且我遇到了我想要做的事情。我有四张图片(1,2,3,4)。我希望图像4只能放在图像3上。图像3,只能放在图像2上,依此类推。删除最后一个图像后,我希望它打开一个页面。我遇到的问题是只允许图像放在另一个图像上。我怎么会这样呢? 这是我到目前为止的代码:
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));
window.open("button.html", "_self");
}
答案 0 :(得分:0)
检查下一个代码
//load "init" when document it's ready
$(document).on('ready',init);
function init() {
$( ".img-drop" ).draggable({ containment: "#left"});
$('.img-drop').droppable( {drop: handleDropEvent});
}
// this is what to do when card drops in tardis
function handleDropEvent( event, ui ) {
var id_drag_element = ui.draggable.attr("id").split('img-')[1];
var id_drop_element = $(event.target).attr('id').split('img-')[1];
var last_element = !(!!$('#img-3').length) && !(!!$('#img-3').length);
if(id_drop_element == 3 && id_drag_element == 4 )
$('#img-4').remove()
else if(id_drop_element == 2 && id_drag_element == 3 && !(!!$('#img-4').length) )
$('#img-3').remove()
else if(id_drop_element == 1 && id_drag_element == 2 && last_element )
{
$('#img-2').remove();
alert('open page...');
window.open("http://www.google.cl", "_self");
}
}
<强>演示强>