0

我使用 ajax 加载器 gif 图像作为标签背景,在调用耗时的方法之前,我将此标签设置为可见并在方法调用后使其不可见。问题是正在显示 gif 图像,但它是静止图像,它没有改变帧。下面是我的代码:

labelWait.Visible=true;
SomeLibrary.SomeClass.SomeMethod();
labelWait.Visible=false;

有什么出路?

4

1 回答 1

0

看来您是在服务器端执行此操作。现在,我不知道您在 AJAX 调用中使用的是什么,我假设它是 jQuery。

做这种事情的正常流程是这样的:

  1. 在客户端(网页)上,用户点击按钮(或链接);
  2. 显示带有动画 gif 的元素;
  3. 做 jQuery.ajax 调用;
  4. 服务器完成其工作并返回请求;
  5. 对响应做一些事情;
  6. 使用动画 gif 隐藏元素。

代码将类似于:

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();
于 2013-02-23T05:53:02.670 回答