我正在使用此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