【发布时间】:2021-01-11 18:11:57
【问题描述】:
我正面临以下问题。 HTML:
<div id='loading'>
<svg> /* inline SVG with animateTransform tags */ </svg>
<span>Loading, please wait...</span>
</div>
<button id='generateResult'></button>
<span id='result'></span>
JS:
$('#generateResult').click(function(){
$('#loading').fadeIn(100, function(){
// After showing the 'loading' container, run the calculate_result function
let result = calculate_result();
// When it's done, output the result into #result span
$('#result').html(result);
});
});
注意:这不是实际代码,只是一个快捷示例。
问题是执行calculate_result 函数大约需要10 秒。在此期间,#loading 容器应该是可见的,其中包含动画的 svg 加载图标。但由于某种原因,calculate_result 函数会导致 SVG 图标停止动画。
有什么办法可以防止吗?
【问题讨论】:
-
能看到svg动画就好了。请检查您是否在 svg 元素中没有“加载”ID。
-
这真的不是问题。 #loading 容器正在淡入,没有任何问题。问题是当它制作动画(淡入)时,动画明显在运行。淡入淡出完成后(所以当
calculate_result()开始时),SVG 动画停止。
标签: javascript html jquery svg