Ext中使用mask方法来模拟请求进度
2008-05-06 11:00
239 查看
在实际开发系统中,经常会点击菜单M1,显示页面P1,然后点击菜单M2,显示P2;
说明:其中P1和P2页面都显示在同一个frame:pageFrame中
由页面P1切换到显示页面P2时,可能需要一定的时间,以前的做法是这段时间可以显示一个进度条,表示正在请求页面P2,最近一段时间看到了Ext的Element的mask方法,使用了一下,感觉可以使用它模拟一个进度条
首先,菜单的点击事件中赋值pageFrame的src,调用方法maskDocAll(),假如页面MyPage.html包含pageFrame,则这个方法定义在MyPage.html中,代码如下:
MyPage.html:
<html>
<head>
<style type="text/css">
.page-loading div{
padding:5px 10px 5px 25px;border:1px;
background: #fbfbfb url( '../extimages/extanim32.gif' ) no-repeat 5px 5px;
line-height: 36px;
}
</style>
<!-- 引入Ext的js文件和css文件 -->
<script language="">
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();
}
function unmaskDocAll() {
var body = Ext.getBody();
body.unmask();
}
</script>
</head>
<frameset>
<!-- 省略菜单frame....... ->
<frame id="pageFrame" src="" onload="unmaskDocAll()"/>
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>
注意body.mask(...)这段代码,其中page-loading是自定义的css,实际上是现实一个动态装载的图片。
然后pageFrame的onload事件中对body进行unmask,即模拟的进度条消失.
效果如下(点击左边菜单,页面切换时的图片,底部整个为灰色空白页面,上面显示动态装载图片和文字正在请求页面...字样):
说明:其中P1和P2页面都显示在同一个frame:pageFrame中
由页面P1切换到显示页面P2时,可能需要一定的时间,以前的做法是这段时间可以显示一个进度条,表示正在请求页面P2,最近一段时间看到了Ext的Element的mask方法,使用了一下,感觉可以使用它模拟一个进度条
首先,菜单的点击事件中赋值pageFrame的src,调用方法maskDocAll(),假如页面MyPage.html包含pageFrame,则这个方法定义在MyPage.html中,代码如下:
MyPage.html:
<html>
<head>
<style type="text/css">
.page-loading div{
padding:5px 10px 5px 25px;border:1px;
background: #fbfbfb url( '../extimages/extanim32.gif' ) no-repeat 5px 5px;
line-height: 36px;
}
</style>
<!-- 引入Ext的js文件和css文件 -->
<script language="">
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();
}
function unmaskDocAll() {
var body = Ext.getBody();
body.unmask();
}
</script>
</head>
<frameset>
<!-- 省略菜单frame....... ->
<frame id="pageFrame" src="" onload="unmaskDocAll()"/>
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>
注意body.mask(...)这段代码,其中page-loading是自定义的css,实际上是现实一个动态装载的图片。
然后pageFrame的onload事件中对body进行unmask,即模拟的进度条消失.
效果如下(点击左边菜单,页面切换时的图片,底部整个为灰色空白页面,上面显示动态装载图片和文字正在请求页面...字样):
相关文章推荐
- PHP使用stream_context_create()模拟POST/GET请求的方法
- SoapUI作为RESTful api请求响应模拟工具的使用方法
- postman的安装与使用方法(模拟Get和Post请求)
- SoapUI作为RESTful api请求响应模拟工具的使用方法
- PHP使用stream_context_create()模拟POST/GET请求的方法
- Ext.MessageBox.show()方法的使用
- Java爬虫入门简介(一) —— HttpClient请求及其使用方法
- AJAX请求 $.post方法的使用
- 在ASP.NET中使用IHttpHandler处理请求(如自实现AJAX)时,无法获得Session(或者说是Session 为 null)的原因及解决方法
- 在外部方法使用Ajax请求返回的数据
- 使用load()方法异步请求数据
- springMVC使用HandlerMethodArgumentResolver 自定义解析器实现请求参数绑定方法参数
- springMVC使用HandlerMethodArgumentResolver 自定义解析器实现请求参数绑定方法参数
- vue-cli的axios使用方法,get、post请求的跨域问题解决
- 使用retrofit框架的网络请求方法使用例子,同时+MVP +rxjava + rxandroid使用
- restful使用不同的http访问方法请求URL
- php 使用curl模拟ip和来源进行访问的实现方法
- Ext.net CheckboxGroup使用的一些方法
- PHP中使用cURL实现Get和Post请求的方法
- AJAX请求 $.post方法的使用