javascript - Chrome 在隐藏和显示父 DIV 容器时重新加载嵌入式 SVG 对象

标签 javascript css google-chrome dom svg

我正在使用 Adob​​e Edge Animate 制作一些 CSS3 动画,并使用一个插件将 SVG 图像转换为标签,以便可以通过 Javascript 访问 SVG 元素。问题是,当其中一个父 DIV 容器被隐藏并稍后重新显示时,嵌入的 SVG 图像将被重新加载,丢失对其所做的任何更改,例如形状的填充颜色等。

当加载新图像时,这也会导致动画出现一些卡顿,因为重新加载图像需要很短的时间。

此问题在 Firefox 或 IE 中不存在。有什么方法可以告诉 chrome 在隐藏和显示时不重新加载嵌入的图像?

这是指向相关页面的链接:Link

如果你按下回车键,它会触发部分动画。您可以在旋转后看到它关闭图像并闪烁。如果您通过名为 changeBladeColor() 的浏览器控制台使用内置函数,您可以看到它如何重置任何已更改的属性。此函数更改 SVG 中形状的填充颜色。

下面是一个测试用例: changeBladeColor(1, '#ff0000');

最佳答案

似乎唯一的解决办法是将元素放置在页面之外。我不得不重做很多动画,所以在做任何需要显示和隐藏对象的元素时请记住这一点(尤其是那些看起来似乎没有这样做的元素)。

关于javascript - Chrome 在隐藏和显示父 DIV 容器时重新加载嵌入式 SVG 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781735/

相关文章:

javascript - ClearInterval 对于服务器 api 调用不起作用(但仅有时)

javascript - Chrome 实验性扩展程序出错?

javascript - .preventDefault() 仅适用于第一次点击

javascript - 获取枚举并发送枚举值

javascript - 让多个实例只显示被点击的实例

javascript - HTML 加载时无法获取 Google map API

css - 使用 CSS(缩小)缩小大图像会导致图像在 IE9、FF 中模糊,但在 Chrome 中很好

java - IE 和 Chrome 不存储来自 RESTEasy 的 cookie

javascript - x-可编辑显示的事件下拉列表 (<select/>) 源刷新

javascript - Visual Studio Chutzpah 使用 AMD 模块在不同项目上运行测试