在实际开发系统中,经常会点击菜单M1,显示页面P1,然后点击菜单M2,显示P2; 说明:其中P1和P2页面都显示在同一个frame:pageFrame中 由页面P1切换到显示页面P2时,可能需要一定的时间,以前的做法是这段时间可以显示一个进度条,表示正在请求页面P2,最近一段时间看到了Ext的Element的mask方法,使用了一下,感觉可以使用它模拟一个进度条 首先,菜单的点击事件中赋值pageFrame的src,调用方法maskDocAll(),假如页面MyPage.html包含pageFrame,则这个方法定义在MyPage.html中,代码如下: 注意body.mask(...)这段代码,其中page-loading是自定义的css,实际上是现实一个动态装载的图片。 然后pageFrame的onload事件中对body进行unmask,即模拟的进度条消失. 效果如下(点击左边菜单,页面切换时的图片,底部整个为灰色空白页面,上面显示动态装载图片和文字正在请求页面...字样):
?.page-loading div{
??? ?padding:5px 10px 5px 25px;border:1px;
??? ?background: #fbfbfb url( '../extimages/extanim32.gif' ) no-repeat 5px 5px;
??? ?line-height: 36px;
??? }
</style>
var?t?=?" 正在请求页面... ";
function?maskDocAll()?{
????var?body?=?Ext.getBody();
????//body.mask(t,'x-mask-loading');
????//window.top.pageFrame.document.body.innerHTML?=?"";
????body.mask(t,'page-loading');
????Ext.fly(Ext.query('div[class^=ext-el-mask-msg]')[0]).center();????????
}
??var body = Ext.getBody();
??body.unmask();
?}
</head>
<body>
</body>
</noframes>?
</html>
详细解决方案
Ext中运用mask方法来模拟请求进度
热度:238 发布时间:2012-11-03 10:57:44.0
MyPage.html:
<html>
<head>
<style type="text/css">?
<!--?? 引入Ext的js文件和css文件 -->
<script language="">
function unmaskDocAll() {
</script>
<frameset>
?? <!--??? 省略菜单frame....... ->
?? <frame id="pageFrame" src="" onload="unmaskDocAll()"/>
</frameset>
<noframes>?
相关解决方案
- 探秘空值位图掩码(NULL bit地图 mask)
- 用CALayer.Mask(遮罩)兑现iphone图标的水晶立体效果
- 如何理解 unsigned char mask = 1 << (i - 1)
- PB 日期 mask 设置 为 yyyy-mm-dd,有关问题是:对于空值,它显示为 0000-00-00.小弟我想让其在空值时不显示(即显示为空)。该怎么设置呀
- appframework学习-mask toast
- Mask Track论文翻译
- mask rcnn使用 plt.savefig() 保存图片去除白边
- python ipv6 ipv4 掩码转前缀 mask to prefix
- 温故知新,ubuntu 11.10 server IP,mask,gateway,dns配置
- mask-rcnn 批量从json文件中挑选出img.png,label.png (matlab)
- mask