我使用 ajax 加载器 gif 图像作为标签背景,在调用耗时的方法之前,我将此标签设置为可见并在方法调用后使其不可见。问题是正在显示 gif 图像,但它是静止图像,它没有改变帧。下面是我的代码:
labelWait.Visible=true;
SomeLibrary.SomeClass.SomeMethod();
labelWait.Visible=false;
有什么出路?
看来您是在服务器端执行此操作。现在,我不知道您在 AJAX 调用中使用的是什么,我假设它是 jQuery。
做这种事情的正常流程是这样的:
代码将类似于:
SomePage.aspx(如果是 mvc,则为 cshtml)
<a href="#" id="dosomething">Load some stuff...</a>
<div id="loader" style="display: none;"><img src="loader.gif"/></div>
<div id="mydata"/>
<script>
$("#dosomething").click(function() {
$("#loader").show();
$.ajax({
url: '/somewheretogetdata',
success: function(data) {
$("#mydata").html(data);
$("#loader").hide();
}
});
});
</script>
当然, /somewheretogetdata 应该执行您的代码:
SomeLibrary.SomeClass.SomeMethod();