我需要一些帮助,让droppable接受多个项目(5 div),并根据丢弃的div,具有不同的功能。我尝试使用if语句无济于事,除非我错误地使用它们。对jquery来说很新。这是我的droppable函数的一个例子:
$("#target1").droppable({
accept: "#drag1",
tolerance: 'touch',
drop: function() {
droptrigger++
$("#finish1").fadeTo( "fast" ,1)
$("#drag1").fadeTo( "fast" ,0)
fadeoutAll()
$("#drag1text").fadeTo( "fast" ,1)
}
});
如果您能提供帮助,请告诉我们!
答案 0 :(得分:0)
accept: "#drag1"
使得可放置区域只接受id为“drag1”的对象。你要放弃的其他东西将不被接受。我假设你没有5个不同的div具有相同的id(我希望你没有)。这不是世界上最漂亮的javascript,但是我想保持它基本,并且不能完全确定你正在放弃的操作之间的差异。
仅将.draggable应用于您想要成为毒品的项目,如果您确实需要重新添加accept:
,请根据应用于您的5个项目的唯一课程进行操作。您可以将您的droppable与以下
$('#target1').droppable({
tolerance: 'touch',
drop: function (ev, ui) {
//gets html id of dropped item, could pass directly to function
var droppedItemId = ui.draggable.attr('id');
runSomeStuff(droppedItemId);
}
});
function runSomeStuff(itemId)
{
switch(itemId)
{
case 'SomeSpecialId1':
//do some stuff here
break;
case 'SomeSpecialId2':
//do some other stuff here
break;
default:
//do nothing if it isn't a special id or undefined
break;
}
}