ASP.Net - 穷人Asynch“请等待......”动画

时间:2010-11-03 18:46:31

标签: asp.net jquery postback

我有一个页面,感谢 jQuery 会在某些条件下自动点击“运行报告”按钮。因此,当用户通过菜单进入页面时,他们等待x秒并返回结果。这很有效......

但是,我想添加动画,因为有些用户不知道发生了什么,我也想展示一个微调器。该应用程序尚未“Ajax化”,可能永远不会。所以我想到了一个穷人的方式。

我有div,其中包含文字和图片。那个div只有一个类display: none;点击按钮的同一个jQuery我也使用.toggleClass方法来显示div。

这很有效并且报告运行并最终返回数据,因此在那时页面被刷新,div再次被隐藏,一切都在世界上。

我的问题是,图像显示但没有动画。我试图把它放在点击之前希望会发生并开始它的东西然后点击甚至开始等待将发生。

我有什么办法可以强迫Gif制作动画吗?

2 个答案:

答案 0 :(得分:1)

提交表单会停止所有网页操作,包括GIF动画。

解决此问题的方法是将表单发布到隐藏的iframe。当然,您需要iframe“唤醒”主页并在结果出现后显示其内容。

答案 1 :(得分:1)

您使用jQuery ajax方法请求报告吗?如果是这样,标准ajax方法中内置了一个函数。

$.ajax({
    url: "/webservices/taskHelper.asmx/ArchiveTask",
    data: '{taskId: 5}',
    beforeSend: function () {
        $("#spinner").show();
    },
    error: deft.ajaxError,
    success: function (data) {
        $("#spinner").hide();
    }
});

单击链接时将执行“beforeSend”功能并继续运行,直到从服务器收到响应为止。我使用beforeSend函数来显示包含动画gif的隐藏div。工作得很好。 jQuery ajax docs