Вы можете получить доступ к выпавшим свойствам карты от случая с $(event.ElementTo)
так одно решением может быть:
$(".stackDrop").droppable({
tolerance: "intersect",
accept: ".card1, .card2",
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function(event, ui) {
$(this).append($(ui.draggable));
if($(event.toElement).hasClass("card1"))
$('.stack').css('background-color','blue');
if($(event.toElement).hasClass("card2"))
$('.stack').css('background-color','red');
}
});
, но я предлагаю лучший способ с ключ-значением объектов массива:
$(document).ready(function() {
var array = [{key:"card1", value:"blue"},{key:"card2", value:"red"}]
$(".card1, .card2").draggable({
appendTo: "body",
cursor: "move",
helper: 'clone',
revert: "invalid",
});
$(".stackDrop").droppable({
tolerance: "intersect",
accept: ".card1, .card2",
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function(event, ui) {
$(this).append($(ui.draggable));
array.forEach(function(el){
if($(event.toElement).hasClass(el.key))
$('.stack').css('background-color',el.value);
})
}
});
});
Как вы можете видеть , с помощью этого решения вы можете добавить больше элементов и установить их класс и цвет в массив.
Вы волшебник! Спасибо огромное! –