jquery - DOM Ready 上的 BlockUI

标签 jquery document-ready blockui

我正在使用 jQuery BlockUI plugin向因 CAML 查询而需要几秒钟加载的页面添加加载启动画面。问题是,页面在 BlockUI 显示一瞬间然后消失之前加载。 JS 似乎以错误的顺序执行这些命令,我​​不明白为什么。我可以在代码中更改某些内容吗?还是 BlockUI 不打算在没有 Ajax 的情况下使用?

$(document).ready(function() {
    $.blockUI();
});
$(window).ready(function() {
    $.unblockUI();
});

在 html header 中,我调用 jquery、blockui 和 common.js 脚本,其中包含 CAML 查询并加载页面元素(按顺序)。 common.js 脚本也在 DOM 上运行,我怀疑这可能是问题的一部分......

最佳答案

试试这个:

<html>
    <head>
        <script src="jquery.js"></script>
        <script src="blockui.js"></script>
        <script type="text/javascript">
            $.blockUI();
        </script>
    </head>
    <body>
        …
    </body>
</html>

这应该会在加载任何其他内容之前阻止 UI 方式。

编辑:好吧,我费心去实际查找它......$.blockUI支持回调函数。

所以,你可以/应该这样做:

$(document).ready(function() {
    $.blockUI({
        onBlock: function() { 
            // Invoke your CAML stuff here.
        }
    });
});

关于jquery - DOM Ready 上的 BlockUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715192/

相关文章:

Jquery ajaxStart 和 blockUI

jquery - 无论如何,在ajax调用后改变blockUI的背景颜色?

javascript - Fullcalendar 远程 EventSource 正在删除所有来源

javascript - 在 foreach 外部设置标志来确定操作的更好质量方法

Javascript float 总和不起作用

javascript - 如何删除jquery中先前绑定(bind)的事件

javascript - 使用 yep/nope 和 document.ready

javascript - 在 .php 页面的脚本中初始化一个变量,而不是在 .js 文件中获取它

jquery - 测试 jquery 是否已加载而不使用文档就绪事件

jquery - IE 中的 BlockUI jquery-ui 主题支持