我正在使用此JavaScript库jQuery SVG来操纵HTML页面中的外部svg。 SVG呈现速度很慢。DOM呈现中是否存在事件?
当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)
}
['requestAnimationFrame'](https://developer.mozilla.org/en-US/docs/Web/API/window.requestAnimationFrame) – zzzzBov
@zzzzBov +1,这是一个很大的区别。值得一提的是jQuery已经在内部使用动画。 –
@BenjaminGruenbaum他们只做了很短的时间(约1.6版) – Prinzhorn