我正在使用 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/