Javascript:保存和恢复样式状态在 IE 中不起作用?

标签 javascript css

假设我们存储一个样式如下:

var  CSSobject = obj;
var  origStyle = getComputedStyle(obj);

...然后我们执行许多操作和更改对象的样式。完成更改后,我们最终会执行以下操作以恢复更改前的样式状态:

CSSobject.style = origStyle;

上述技术适用于 Chrome 和 Firefox,但我注意到它在 Edge 25.10 或 Explorer 中不起作用。 (注意:目标是将任意状态恢复到自身,而不是恢复到默认状态)

这是一个简单的修复吗?还是一 jar 蠕虫?

附言。我不喜欢 Jquery(不使用它)。目前,纯 Javascript 解决方案更可取。谢谢!

最佳答案

好吧,这比我想象的要容易得多(尤其是在我根本不使用内联样式的情况下;它都是外部 CSS)。

任何时候 Javascript 通过 .style 选择器分配一个值,它实际上是在创建一个内部样式并分配给它。

我所要做的就是将样式设置为 null 然后一切都回到读取外部 CSS 就好像什么都没发生一样 el.style = null ... 让它更健壮一点(在有一些小的内部样式设置的关闭更改中)我可以将它保存为 var origInlineStyle = el.style.cssText 预先然后做 el.style.cssText = origInlineStyle

关于Javascript:保存和恢复样式状态在 IE 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36526451/

相关文章:

javascript - 用javascript获取url参数

javascript - jsSHA、CryptoJS 和 OpenSSL 库给出不同的结果

javascript - 获取嵌套在另一个对象内的对象

css - 使用媒体查询通过 Sass 设置变量值

jquery - 如何定位当前页面的导航元素并使用 jQuery 淡出其 css "current"类?

javascript - 尝试从点击事件coffeescript中调用 'this'

javascript - window.onload() 不会在混合应用程序中触发

css3 旋转过渡,不走最短路径

javascript - 如何防止事件在子元素中被激活?

jquery - 单击时显示和隐藏 div