微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在jQuery代码运行时显示加载消息?

我是jQuery的新手,我在ready函数中有一段代码需要大约4-5秒才能完成.我想做的是在页面加载时可能使用 blockUI显示“请稍候”消息.但是,如果我在ready函数中插入$.blockUI和$.unblockUI,它就会立即运行并消失.如果我把它放在外面,它会破坏IE6.有任何想法吗?我不一定需要使用BlockUI插件,其他任何东西都可以.

谢谢!

编辑:谢谢大家的反馈.我的代码很长,所以我不想在这里发布它,但它基本上构建了一个复选框树,树很长约1000叶.因此,选择已检查的并展开它们,隐藏未经检查的那些,依此类推等等.我知道我可以尝试更多地优化它,但我想我也很好奇如何做到这一点.所以基本上我没有做任何post,get或ajax调用,我可以将unblock代码附加到它.大多数语句都是选择一些节点并添加/删除一些属性,如hide,show等.

我用yslow做了一些分析,似乎加载时间在被解析的html(~2.5秒)和javascript代码(~2.5)之间划分.在jquery ready函数返回true之前,让我想到是否有一种方法可以在页面加载时立即触发blockUI.

谢谢大家!

再次感谢大家!

解决方法

您需要在启动长进程后立即显示元素,并在回调中隐藏它.所以,例如,如果你正在做一个帖子:

showloading();
$.post("/foo",{ id:'bar' },function(){
  hideloading();
});

在此示例中,在发布到服务器的较长过程完成之前,不会调用hideloading().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐