我在页面上有一些简单的拖放功能,您可以将一个元素拖放到目标区域,该元素将捕捉到目标区域内的指定位置。目前,我正在使用“drop”事件处理程序来完成此操作,该处理程序向具有正确位置的元素添加一个类,然后删除 jQuery 定义的位置样式(在拖动时定位元素)。因此,元素被移动到正确的位置。
但是,我想给元素一个漂亮的动画,让它从你放下它的地方移动,而不是让它立即出现在新的地方。问题是 jquery 允许我从一种样式动画到另一种样式,或者从一个类到另一个类,但不能从一种样式动画到一个类。我试过这样做:
feature.addClass('selected');
feature.animate({
'top': '',
'left': '',
'bottom': '',
'right': ''
});
其中“选定”包含顶部和左侧的定义。但是这样做是将元素移动到 0,0(而不是动画删除我想要的样式的过程)。
有谁知道我该怎么做?我可以将坐标存储在元素数据中,但我希望它们在 CSS 中定义。或者,有没有一种方法可以使用 Javascript 从 CSS 中读取所选位置并动态存储它?即找出“对于这个元素,如果我要添加选定的类,top 和 left 的值是多少”。