我正在使用 jQuery 应用元素级内联样式,这将覆盖底层的 css 类样式定义。
到目前为止一切都很好,但是我想取消此操作,并将动画返回到由 CSS 规则定义的属性,删除元素的内联样式。
一个经常 提供的解决方案是存储您替换的值,然后再用动画返回这些值。然而,这假设默认状态没有改变。如果有呢?
例子:
<style>
#foo { width: 100px;overflow:hidden; }
@media all and (min-width:600px) {
#foo { width: 200px; }
}
</style>
<div id='#foo'>bar</div>
<script>
// at some point use clicks a toggle
jQuery('#foo').animate({width:0});
// now user resizes window, triggering change in (overridden) CSS style
// ...
// at some later point user clicks toggle again
jQuery('#foo').animate( **something to remove inline style** );
</script>
在这个例子中,假设用户从一个小的浏览器窗口开始。的大小#foo
为 100 像素。他们单击切换按钮,它的动画设置为 0。接下来,用户将窗口大小调整为 >600 像素,激活响应式类样式,该样式将具有#foo
200 像素。我如何告诉 jQuery 解决这个问题并为其制作动画?
简化示例
<style>
.c { width: 50%; }
</style>
<div class='c' style='width:10%' >foo</div>
鉴于上述情况,如何使用 jQuery 查找其类为 foo 定义的 50% 宽度,忽略覆盖的样式属性?