使用jquery draggable / droppable通过类定位特定的div

时间:2013-04-18 03:17:53

标签: javascript jquery css jquery-ui

当使用jquery UI拖动div并将其放入UI droppable div时,我想在被放入该区域的div上触发jquery动画。触发动画时,会在所有具有class =“drag-element”的div上调用它,但我只希望对特定的拖放元素进行动画处理。我尝试过包括removeClass(“。drag-element”)和addClass(“。animate-element”)并告诉animate()对此进行操作,但它仍然将动画应用于所有.drag-element div。我该如何解决这个问题?

JQuery的:

$(function() {
$( ".drag-element" ).draggable({ containment: ".container" }).removeClass(".drag-vid");
$( ".drop-field" ).droppable({
  drop: function( event, ui ) {
    $(".drag-element").animate({"left": "+=50px"}, "slow");
    $( this )
      .css("background-color", "silver");
  }
});
});

http://jsfiddle.net/NBHMT/

1 个答案:

答案 0 :(得分:2)

使用:

ui.draggable.animate({"left": "+=50px"}, "slow");

而不是:

$(".drag-element").animate({"left": "+=50px"}, "slow");

http://jsfiddle.net/kAG6q/

您的代码发生了什么,当您致电$(".drag-element").animate(....时,它会选择所有拖动元素div。相反,drop函数有一个ui参数,它使用ui.draggable

为您提供有关拖动元素的信息