如何设置BlockUI的最小延迟?

时间:2011-10-02 17:58:56

标签: jquery asp.net-mvc json

我正在尝试设置BlockUI的最小显示但是遇到了麻烦。无论我在setTimeout中放入什么值,该元素都会立即解除阻塞。

这里我正在设置jQuery ajaxForm插件的选项:

  var options = {
            type: 'POST',
            contentType: 'application/json; charset-utf-8',
            dataType: 'json',
            complete: function () {
                 setTimeout($('#MyElement').unblock(), 5000);
            }
        };

在这里,当我点击提交按钮时,我在'MyElement'上显示BlockUI。

 $('.submit').click(function () {
            window.showBlockUI($('#MyElement'));
        });

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

您正在调用setTimeout()中的函数,而不是传递对函数的引用,因此它会立即执行并将该函数的返回结果传递给setTimeout()。因此它立即执行。

将其更改为:

complete: function () {
    setTimeout(function() {$('#MyElement').unblock()}, 5000);
}

或者以一种不太紧凑的形式,你可以更好地看到它:

complete: function () {
    setTimeout(function() {
        $('#MyElement').unblock()
    }, 5000);
}
相关问题