假设我们存储一个样式如下:
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/