2012-02-22 92 views
0

在使用JQuery将对象动画到其他位置之后,回到原始位置,即使它的值在媒体查询的css中进行链接步。css媒体查询不适用于动画后的jQuery对象

代码:

$(".object").animate({ top: "-=85px"}).delay("3000").animate({ top: "285px"}); 

.object { 
    top: 285px; 
} 

应该将此媒体查询:

.object { 
    top: 50px; 
} 

但是当我通过当新的价值应该被执行,将与285px坚持,因为它是与窗口最后的动画值。

是否有像“在动画之后从该对象中删除JQuery中所有添加的值并再次使用来自css的给定值再次粘贴”的命令?

由于这是一个动画,我不能使用CSS类来做一个解决方法。

回答

2

只需卸下top属性在动画完成后:

$(".object").animate({ top: "-=85px"}).delay(3000).animate({ top: "285px"}, { 
    complete: function() { 
     $(this).css('top', ''); 
    } 
}); 
+0

多么漂亮和干净的解决方案。对于进一步的项目非常有用。非常感谢您的快速回答! – Melros 2012-02-22 02:36:49

+0

@Melros:总是乐于帮忙! :) – Ryan 2012-02-22 02:40:01