7

当页面仍在使用 jquery 和 blockUI 插件加载时,如何阻止 UI?如果页面是使用 AJAX 调用加载的,我知道解决方法,但是当页面使用回发加载时,如何阻止 ui 直到页面完全加载完成?

请帮忙。非常感谢您的努力和时间。

4

6 回答 6

9

输出 body 标签后,您需要立即触发 blockUI 插件。

而不是传统的:

<script type="text/javascript">
  $(function (){
    $("body").blockUI(options);
  });
</script>

您需要忘记封闭$(function (){})$(document).ready(function (){})您的脚本立即触发:

<script type="text/javascript">
  $("body").blockUI(options);
</script>
于 2009-04-30T12:55:17.840 回答
4

建立并纠正 Seb 的答案。如果您要阻止 UI,请使用 .blockUI(),如果针对对象,请使用 .block()。我不相信你需要以 body 为目标,本质上这就是 blockUI 本身的功能。您确实需要在主体标签之后调用该函数......否则没有<body>标签。如果您真的想在加载每个图像之前一直阻止 UI,请参阅最后一行。如果您只想加载页面内容,可以将解锁功能放在您熟悉的底部$(document).ready(function().

<script type="text/javascript">  
$("body").block(options);   
//--or--  
$.blockUI(options);  
</script>

<script type="text/javascript">   
$(document).ready(function() {  
   $(window).load(function() { $.unblockUI(); }); //load everything including images.  
//--or--  
   $.unblockUI(); //only make sure the document is full loaded, including scripts.  
});  
</script>
于 2010-12-03T23:12:48.767 回答
0

您可以尝试在禁用所有组件的情况下启动页面,然后在 PageLoad 事件中启用它们。另一个想法是放置一个隐藏所有页面的 CSS 类,并在加载时使用 JQuery 更改它。

于 2009-04-30T13:15:23.813 回答
0

问题在于引用 javascript 文件。

如果需要在 ASP.NET Ajax 页面中添加块 UI,请尝试在 ScriptManager 中包含 javascript 文件。

于 2010-07-26T12:10:42.727 回答
0

你试过这个吗?

<script type="text/javascript">
    $(document).ready(function () {
        $.blockUI(options);
    });
</script>
于 2010-08-04T15:20:26.430 回答
0

最终对我有用的完整代码如下:

$("body").block({ message: '<h2>Loading...</h2>' });

$(document).ready(function () {
     $("body").unblock();
});
于 2015-06-03T20:20:54.177 回答