如何使用加载动画正确阻止div

时间:2012-12-04 16:00:19

标签: jquery

我有一个我正在调用的ajax函数。当Web服务器正在转向Assynchronous请求时,我想阻止用户查看的div,这样他就不会按下任何按钮或任何东西,而这个请求正在进行...我之前已经做过这个,你只是选择要通过动画阻止潜水,调用.block,然后当值成功返回时,您只需取消阻止。像这样......

function animateSpinner() {
    $("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' });
};

然后简单地调用

$("#list").unblock({ message: '<img src="../../Images/ajax-loader.gif" />' });

成功返回后。
但是,每当我尝试这样做时,我都会收到此异常... enter image description here

这是针对其中的解锁部分。我忘记评论了(我只是测试了这个的ajax部分。
这些调用是否应该包含在document.ready中,以确保它们应该被调用。我最近遇到过ajax提交不能正常工作的问题,因为它们没有包含在$(document).ready调用中,我想看看这是否是应该在该调用中包含某些内容的另一个实例?

2 个答案:

答案 0 :(得分:1)

如评论中所述,JQuery上没有block这样的功能。您应该使用AJAX请求中的beforeSend函数为按钮设置disabled=true,或将div的z-index更改为负值

答案 1 :(得分:1)

正如@AmericanUmlaut指出你使用的是jQuery BlockUI Plugin语法。这里的例子http://www.malsup.com/jquery/block/#element几乎与您尝试的相同。

只要关注onDOMReady,只要在ajax调用问题开始触发之前加载BlockUI插件,你就不必做任何特别的事情来使这个功能按预期工作