我正在尝试使用 jQuery UI 的添加/删除类动画来切换父元素上的类,这将动画整个页面中各种子元素的许多变化。当 CSS 更改直接影响我正在添加类的元素时,我可以让它工作,但它似乎并没有为子元素的更改设置动画。
例如,如果我的 HTML 是这样的:
<div class="parent">
<span class="child">added to my parent</span>
</div>
CSS:
.red-parent .child { background-color: red; }
当我尝试这样做$( ".parent" ).addClass("red-parent",2000)
时,没有动画.child
- 2 秒后颜色变为红色。
任何建议将不胜感激!
更新:
我仍然无法弄清楚这一点,但能够使用 CSS3 的转换在兼容的浏览器中近似效果:
.child {
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
transition: all 1s ease;
}
这意味着我不必担心 jQuery 动画 - 根本不必使用 jQuery UI。addClass()
等将自动动画。但是,jQuery UI 不应该能够做到这一点吗?CSS 过渡对于我想要的东西来说有点矫枉过正,并且可能会妨碍我想要在相同元素上执行的其他动画(例如,将鼠标悬停在菜单项上)。