我有一些JQueryUI动画加上一些Jquery代码,它们将一些html加入到页面中。 html是基于来自JQuery Ajax调用的数据生成的。
我认为我的动画冻结可能来自Ajax调用,但是下面的问题是我在想的不是:
Why does my spinner GIF stop while jQuery ajax call is running?
我认为我遇到的问题可能源于同一个问题,但上述问题为行为提供了理由,而不是解决方案。
有没有人有解决方案?
答案 0 :(得分:0)
这article可能会对您有所帮助。
HTML元素的关键部分如下:
<span id='myHiddenDiv' style='display: none'>
<img src='' id='myAnimatedImage' align='absmiddle'>
</span>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="showDiv();" Text="Search" />
我们有一个隐藏的跨度(它可能是一个div,如果你想在一个新行上),并且在这个范围内是我们的img标签。接下来,在我们按钮的OnClientClick处理程序中,我们调用“showDiv();”客户端脚本函数看起来像这样:
<script language='javascript'>
function showDiv()
{
document.getElementById('myHiddenDiv').style.display ="";
setTimeout('document.images["myAnimatedImage"].src="work.gif"', 200);
}
</script>
这使用setTimeout方法使DOM在200ms后重置图像的src属性。结果是,当您按下启动长时间运行方法的按钮时,图像将显示并继续动画,直到回发返回并重新加载页面,此时图像消失 - 这正是我们想要的行为。
答案 1 :(得分:0)
所以我认为这个问题有三个主要的“解决方案”;他们是更多的解决方法。
当然,我猜有第四种解决方案,就是处理它。