在DOM渲染上是否有一个事件
Is there an event on DOM render?
我使用这个javascript库jQuery SVG来操作html页面中的外部SVG。SVG的渲染速度非常慢。
当svg文件非常重时,我无法看到第一个动画,因为它在渲染之前开始。动画在加载事件时开始,但页面尚未呈现,因此我看到动画结束。有没有一种方法来捕捉渲染事件在javascript?
// load svg
$('#slide').svg({});
var svg = $('#slide').svg('get');
svg.load('slide.svg', {
addTo: false,
changeSize: false,
onLoad: onLoad
});
// animation start when dom is ready not when page is render
function onLoad(){
$('#maskRight').animate({svgWidth: '200'}, 1500)
}
我想你这里的问题是,你的Javascript是加载在
标记,这意味着Javascript可能在主体加载之前就开始运行了。我推荐以下两个选项之一:jQuery的$(文档)时(处理器)
http://api.jquery.com/ready/或者你也可以通过将上面的代码与代码体的onLoad事件挂钩来实现这一点,就像这样:<body onload="loadSVG">
<stuff />
</body>
<script>
function loadSVG(){
$('#slide').svg({});
var svg = $('#slide').svg('get');
svg.load('slide.svg', {
addTo: false,
changeSize: false,
onLoad: onLoad
});
}
function onLoad(){
$('#maskRight').animate({svgWidth: '200'}, 1500)
}
</script>
我还没有测试过这段代码,但如果我遇到这个问题,并且出于某种原因不想使用jQuery的ready()函数,我将首先尝试它。
希望这对你有帮助!
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 是否有一个javascript库来解析简单的查询
- 检查一个元素是否有一个类与另一个类总是返回true
- 是否有一个支持嵌入HTML页面的跨操作系统GUI框架
- 是否有一个 JavaScript 加载器可以将套接字的数量限制为 1 或 2
- 是否有一个 API 来控制火狐附加组件 SDK 中的下载
- 是否有一个简单的 JQuery 过程来替换页面上每段内部文本的字符串
- 是否有一个Javascript函数可以使代码在运行时延迟
- 在Express.js中,是否有一个相当于res.locals的路由
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- 是否有一个简单的Javascript库或脚本来处理简单的逻辑测试
- Github Pages中是否有一个配置允许您将所有内容重定向到单页应用程序的index.html
- Ionic/Cordova-是否有一个媒体/mediaPlayer插件可以使用轨迹栏功能
- 是否有一个JS库可以让我在网格中制作可拖动和可调整大小的磁贴,就像在iPhoto Journal中一样
- 是否有一个名为 bind 的 JavaScript 或 jQuery 事件
- 是否有一个JavaScript / Jquery组件可以创建一个像Eclipse一样的工作空间
- 是否有一个 javascript 库可以在图像上注释并将注释另存为服务器中的图像