`

ExtJs 的进度的实现(转)

阅读更多
<script type="text/javascript"> //<![cdata[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90); //]]&gt; </script>

<style type="text/css"> <!-- .style4 {color: #660033} .style5 {color: #660000} --> </style>

ExtJs 的进度的实现,您可以点这里下载本实例代码,

代码详解:

   var pbar1; //定义一个变量用于进度条对象
var btn1; //定义一个变量用于进按钮对象
Ext.onReady(function(){
pbar1=new Ext.ProgressBar({ //实例化进度条
renderTo:"div1", //进度条呈现的一个DIV
width:800, //进度条的宽度
text:"单击按钮开始..." //在进度条里的初始文本
});
btn1=Ext.get("btn1"); //按钮对象
btn1.on("click",f1); //按钮事件,单击时调用f1()函数
});
var i=0; //初始化一个变量为0,下面会用到。
function f1(){
i++; //让i加1
pbar1.updateProgress(i/100.0); //让进度条更新到指定的进度。这个值是0-1之间的数,我让i/100.0,以让它的结果是一个小数
pbar1.updateText("进度:"+i+"%"); //进度条显示的文本
if(i==100){ //当i==100的时候让按钮状态可以使用,并让i=1,再让进度条停止
document.getElementById("btn1").disabled=false;
i=0;
clearInterval(x);
}
document.getElementById("btn1").disabled=true; //让按钮的状态为不可用
setTimeout("f1()",50);//用setTimeout函数递归调用f1()函数,以达到进度条一直跑的效果
}
//*****************进度条实例2*********************//
var pbar2;//定义一个变量用于进度条对象
var btn2;//定义一个变量用于进按钮对象
Ext.onReady(function(){
pbar2 = new Ext.ProgressBar({ //实例化进度条
renderTo:"div2", //进度条呈现的一个DIV
width:600, //进度条的宽度
text:"单击按钮开始..." //在进度条里的初始文本
});
btn2=Ext.get("btn2"); //按钮对象
btn2.on("click",function(){//按钮事件,单击时执行funciton()
Runner.run(pbar2,btn2,10,function(){ //Runner是在下面定义。Runner.run方法参数(进度条对象,按钮对象,进度大小:可以自由设定,进度条完成时执行的行数:如果不做任何事情可以填null)
Ext.Msg.alert("Information","进度条已经加载完成......"); //对话框
pbar2.reset(); //重置进度条
pbar2.updateText("单击按钮重新开始..."); //更新进度条的文本
});
});
});
//这个函数是我从Ext官方下载的包里的examples里直接拷贝来的,我也懒得去研究,貌似有点复杂
var Runner = function(){
var f = function(v, pbar, btn, count, cb){
return function(){
if(v > count){
btn.dom.disabled = false;
cb();
}else{
if(pbar.id=='pbar4'){
//give this one a different count style for fun
var i = v/count;
pbar.updateProgress(i, Math.round(100*i)+'% completed...');
}else{
pbar.updateProgress(v/count, 'Loading item ' + v + ' of '+count+'...');
}
}
};
};
return {
run : function(pbar, btn, count, cb){
btn.dom.disabled = true;
var ms = 5000/count;
for(var i = 1; i < (count+2); i++){
setTimeout(f(i, pbar, btn, count, cb), i*ms);
}
}
}
}();
//***********进度条实例3**************//
var pbar3;//定义一个变量用于进度条对象
var btn3;//定义一个变量用于进按钮对象
Ext.onReady(function(){
pbar3 = new Ext.ProgressBar({ //实例化进度条
renderTo:"div3", //进度条呈现的一个DIV
width:300, //进度条的宽度
text:"单击按钮开始..." //在进度条里的初始文本
});
btn3=Ext.get("btn3"); //按钮对象
btn3.on("click",function(){ //按钮单击事件
btn3.dom.disabled=true; //把按钮设置为不可用状态
pbar3.updateText("正在更新..."); //更新进度条的文本信息
pbar3.wait({ //开始执行进度条
interval:100, //每次进度的时间间隔
duration:5000, //进度条跑动的持续时间
increment:50, //进度条的增量,这个值设的越大,进度条跑的越慢,不能小于1,如果小于1,进度条会跑出范围
fn:function(){ //进度条完成时执行的函数,也可设为nulll
btn3.dom.disabled=false;//把按钮设置为可用状态
pbar3.updateText("更新完成..单击按钮重新开始...");//更新进度条的文本信息
}
});
});
});


小菜毛毛 2009-05-05 14:58 发表评论
分享到:
评论

相关推荐

    extjs 进度条的显示

    extjs 进度条的显示

    extjs+swfupload实现多文件上传下载删除带进度条

    extjs+swfupload实现多文件上传下载删除带进度条 可以实现多文件上传

    ExtJS + JSP动态显示文件上传进度

    ExtJS + JSP 实现表单上传进度条,并且根据上传的字节数动态更新进度条。部署和测试都很简单,直接把progress.zip解压在tomcat/webapps/ROOT下面就可以用http://localhost:8080/upload.html测试。

    ExtJS+ASP.NET实现真实的进度条显示

    ExtJS ASP.NET实现真实的进度条显示服务器端长时间操作

    Extjs3.3+swfUpload2.2实现多文件上传组件.pdf

    Extjs3.3+swfUpload2.2 实现多文件上传组件 Extjs3.3+swfUpload2.2 实现多文件上传组件是一种基于 Extjs3.3 和 swfUpload2.2 的文件上传解决方案。该组件可以实现多文件上传,具有良好的用户体验和可扩展性。 多...

    struts2.0+Extjs文件上传例子

    功能强大的Struts2.0+Extjs实现的文件上传,包含文件上传进度,文件的下载,压缩,解压多文件删除等

    Extjs实现进度条的两种便捷方式

    做Extjs开发中,往往后台程序可能要执行一段时间才能得到返回结果,加入进度条可以提高客户体验度,以下为两种便捷的方式: 1.提交数据前用Ext.Msg.wait(‘提示’,’正在处理数据,请稍候’);弹出等待条,数据处理...

    自定义图片旋转进度框

    自定义进度框,圆环图片旋转,也可自己设置旋转图片,支持自己logo的显示,利用属性动画实现旋转,性能更高。

    利用jsp+Extjs实现动态显示文件上传进度

    上传一个很大的excel文件到server, server会解析这个excel, 然后一条一条的插入到数据库,整个过程要耗费很长时间,因此当用户点击上传之后,需要显示一个进度条,并且能够根据后台的接收的数据量和处理的进度及时...

    cfw-ext - 通用信息系统框架ExtJs版

    客户端目前计划采用两种技术分别实现,一是ExtJs,另一种是Flex,都是目前流行的RIA技术。 通用框架(包括权限管理、功能导航),采用两种模式,一是集成Flex+Spring+ibatis开源框架,二是集成Extjs+Spring+ibatis...

    WinForm轻松实现自定义分页

    我习惯了Extjs的Grid分页效果,所以也想在WinForm中做个类似的效果,所以咬咬牙,做个山寨版本的吧,虽然自己写费时费力,在项目进度考虑中不是很可取,但是还是特别想山寨一回,做自己喜欢的风格--仿Extjs。

    JSP Ext网盘系统,界面漂亮,上传好用.rar

    JSP Ext网盘系统,界面漂亮,上传好用,源码完整,请大家先看下截图,EXTJS框架实现的前端界面,结合JSP底层实现的上传内核,上传速度快,支持批量上传,显示上传进度,功能方面虽然不是100%完善,不过已经实现了...

    基于Struts2和Spring的网络硬盘系统,批量上传文件和在线解压,优秀源代码!

    技术架构:Struts2(json-plugin) + Spring2 + ExtJS2.2 无数据库 已经实现的功能: 1.多文件队列批量上传,友好的上传进度条,完整的上传进度信息. 2.实现了文件在线压缩解压功能(可以压缩成zip格式,可以直接解压缩RAR...

    IOIF基于开源技术的JAVA开发框架

    IOIF的提出是为了避免每个项目重新考虑与实现框架,在提高项目开发进度的同时,框架在设计上也封装了一些程序员容易出错的地方,使整个项目更安全更健壮。 IOIF以EXTJS为前端,以Spring、Struts、Hibernate为后端,...

    IOIF面向项目的开源开发框架

    IOIF的提出是为了避免每个项目重新考虑与实现框架,在提高项目开发进度的同时,框架在设计上也封装了一些程序员容易出错的地方,使整个项目更安全更健壮。 IOIF以EXTJS为前端,以Spring、Struts、Hibernate为后端,...

    visorCatastroCol:哥伦比亚多用途地籍的观众

    观众将允许将试点项目的结果进行社交化,从而通过互联网向所有感兴趣的个人和机构公开建立国家地籍的工作进度。 除了实现使所进行的工作具有可见性的目标(这将导致社会对流程的吸收)之外,它还允许在特定级别上每...

Global site tag (gtag.js) - Google Analytics