我想用.appendTo()
来修改元素的DOM位置。一旦完成,我需要使用CSS3对元素进行动画处理。使用jQuery后执行CSS3动画.appendTo
该元素不会动画,而是捕捉到新的CSS样式。
的JavaScript:
$(".run").click(function() {
$(".imageOriginal").appendTo(".insert").toggleClass("imageAnimated");
});
HTML:
<div class="insert"> </div>
<img src="img/img1.png" class="imageOriginal"/>
CSS:
.imageOriginal {
-webkit-transform: scale(0.1);
}
.imageAnimated {
-webkit-transition: all 1s ease-in-out;
-webkit-transform: scale(1);
}
我分开的.appendTo()
和.toggleClass()
方法火在两个不同的点击事件。这种方法有效(但显然不是理想的)。追加后我也尝试使用.delay(1000)
,但这也不起作用。
JQuery用户界面提供.switchClass()函数如下所述: http://stackoverflow.com/questions/1248542/jquery-animate-with -css-class-only-without-explicit-styles – Stephen 2011-12-21 19:42:29
@Stephen他们是否更新了jQuery UI以使用CSS3转换? – Jasper 2011-12-21 19:45:34
@Stephen请不要推荐整个(臃肿,垃圾)库,只是为了实现易于手工编写的行为的单个函数。 – Bojangles 2011-12-21 20:01:00