Javascript 渲染大型本地文件时显示动画
我有一个本地HTML文件,其中包含一个大型SVG节点。如果我打开这个文件,它会在浏览器中呈现SVG文件,这需要一些时间(由于过滤器)。由于浏览器的限制,我无法通过从文件中加载SVG节点来外包SVG节点。 有没有一种方法可以在整个页面上覆盖一个动画,从我启动浏览器到SVG内容被呈现出来都是可见的 不起作用的是:Javascript 渲染大型本地文件时显示动画,javascript,html,loading,large-files,Javascript,Html,Loading,Large Files,我有一个本地HTML文件,其中包含一个大型SVG节点。如果我打开这个文件,它会在浏览器中呈现SVG文件,这需要一些时间(由于过滤器)。由于浏览器的限制,我无法通过从文件中加载SVG节点来外包SVG节点。 有没有一种方法可以在整个页面上覆盖一个动画,从我启动浏览器到SVG内容被呈现出来都是可见的 不起作用的是: ... <head> <style type="text/css"> #content { display: none; } &
...
<head>
<style type="text/css">
#content {
display: none;
}
</style>
</head>
<body onload="$('#content').css('display','block');$('#loading').css('display','none');">
<div id="content">
...
<svg> .... </svg>
...
</div>
<div id="loading"> </div>
</body>
。。。
#内容{
显示:无;
}
...
....
...
因为加载动画在加载网页时不可见,并且在加载SVG节点之前不可见
谢谢你的帮助 加载svg之前会触发body
onload
事件,这就是页面加载时看不到动画的原因。
您需要在svg的onload
事件中添加#content#load切换:
<body>
<div id="content">
...
<svg onload="$('#content').css('display','block');$('#loading').css('display','none');"> .... </svg>
...
</div>
<div id="loading"> </div>
</body>
...
....
...
Sencha实验室似乎有一个svg元素的afterrender事件。我知道的不多,但也许这是你的起点。