我对一个CSS3过渡规则通过jQuery应用后,能够实际动画化CSS属性变化感到惊讶。请看以下链接:http://jsfiddle.net/zwatf/3/。
初始情况下,一个div元素由两个类样式定义,并且由于这两个类的默认CSS属性具有一定高度(200px)。然后,通过移除其中一个类,利用jQuery修改了该元素的高度:
发生的事情是高度的减小变得有了动画效果(至少在Firefox和Chrome上)。在我的世界中,如果指令的顺序有任何意义,这种情况不应该发生。
我猜这种行为可以很好地解释。那么这是为什么呢?我该如何防止这种情况发生?
这就是我想要实现的:
1. 用jQuery修改默认样式(不使用CSS3过渡进行动画!) 2. 使用jQuery应用过渡规则 3. 使用jQuery更改属性(由CSS3过渡进行动画)
(1)和(2)应该尽快完成,因此我不喜欢使用任意的延迟。
初始情况下,一个div元素由两个类样式定义,并且由于这两个类的默认CSS属性具有一定高度(200px)。然后,通过移除其中一个类,利用jQuery修改了该元素的高度:
$('.container').removeClass('active');
这将把高度从200px减少到15px。
之后,通过添加一个类来对容器应用过渡规则:
$('.container').addClass('all-transition');
发生的事情是高度的减小变得有了动画效果(至少在Firefox和Chrome上)。在我的世界中,如果指令的顺序有任何意义,这种情况不应该发生。
我猜这种行为可以很好地解释。那么这是为什么呢?我该如何防止这种情况发生?
这就是我想要实现的:
1. 用jQuery修改默认样式(不使用CSS3过渡进行动画!) 2. 使用jQuery应用过渡规则 3. 使用jQuery更改属性(由CSS3过渡进行动画)
(1)和(2)应该尽快完成,因此我不喜欢使用任意的延迟。