JS 实现简单进度条
来源:互联网 发布:windows 10的虚拟桌面 编辑:程序博客网 时间:2024/05/17 01:11
第一次写博客,有点小鸡动。
因为做了一个导出Excel表格功能,但是现在数据多起来了,后台在从数据库读取出来,写入到Excel表格,这个过程会耗点时间,1W条数据大概要6秒左右吧,也不清楚,我是内网可能还快点。反正就是他们用的人在点了下载之后需要等,所以就加了个进度条,以此填补下他们等待的时候空虚又寂寞的心,忽悠用户一下,哈哈。
度娘上查了很多插件,发现原理也不难,就自己写一个简单版的,在博客里马克一下,以后自己还能用,而且,如果对他人有帮助,那也是极好的。
先是写了两个div,里面一个做动态进度条,外面的做躯壳,代码如下:
<div id="progressShell" style="display: none;z-index:80;" class="shell_css" > <div id="barFill" style="display: none;z-index:90;" class="bar_css"></div></div>
再是写了些样式,代码如下:
.shell_css{ height: 40px; width: 500px; margin-top: -700px; margin-left: 30%; float:left; background-color: white; border: 1px solid #666; -moz-box-shadow: 2px 2px 10px #666; -webkit-box-shadow: 2px 2px 10px #666; box-shadow:2px 2px 10px #666; -webkit-border-radius: 30px; -moz-border-radius: 30px; filter:alpha(opacity=99); /*IE滤镜*/ position:absolute; z-index:99; -moz-opacity:0.99; /*Firefox私有*/ opacity:0.99;/*其他*/ overflow: hidden;}.bar_css{ height: 100%; width: 0px; float:left; text-align:center; line-height:40px; color:white; background-color: #0c87ff; filter:alpha(opacity=99); /*IE滤镜*/ -moz-opacity:0.99; /*Firefox私有*/ opacity:0.99;/*其他*/ overflow: hidden;}
最后js代码画图,搞定:
//画进度条方法 function draw() { i+=1; var maskDiv = $("#allMask"); maskDiv.css("display","block"); var shellDiv = $("#progressShell");//不变的底框; shellDiv.css("display","block"); var barDiv = $("#barFill");//进度框; barDiv.attr("class","bar_css"); barDiv.css("display","block"); innerWid += 5; barDiv.css({width:innerWid+"px"}); percent += 1; barDiv.html(percent+"%"); if(i==97){ clearInterval(res); } } function exportWorkInfoExcel() { i = 0; innerWid = 0; percent = 1; res = setInterval(draw, 120);//设置跑完进度时间 var shellDiv = $("#progressShell");//不变的底框; var barDiv = $("#barFill");//进度框; var maskDiv = $("#allMask"); $.ajax({ type:"POST", async: true, url:"exportWorkInfoExcel.do", dataType:"text", success:function(data){ if(data != null && data != ""){ clearInterval(res); barDiv.css({width:"500px"}); barDiv.html("100%"); if(time != null){ clearTimeout(time); time = null; } time = setTimeout(function(){ shellDiv.css("display","none"); barDiv.css("display","none"); maskDiv.css("display","none"); var da = data; da = "${ctx}/"+da; window.location.href=da; }, 300); }else{ alert("网络连接超时,无法操作数据!"); } }, error: function(){ clearInterval(res); shellDiv.css("display","none"); barDiv.css("display","none"); maskDiv.css("display","none"); alert("网络连接超时,无法操作数据!"); } }); }
最后的最后,加个蒙板,显得好看点:
<div id="allMask" style="width:100%; height:100%;position:absolute; z-index:70; background:#ffffff;filter:alpha(Opacity=50);-moz-opacity:0.5;opacity: 0.5; top:0; left:0; display:none; "></div>
1 0
- 简单进度条JS实现
- JS 实现简单进度条
- JS实现 进度条 不用控件 超级简单
- js进度条(简单的)
- 简单进度条插件JS
- 利用js简单实现进度条功能,替换jquery progressbar
- js实现的一个简单的百分比进度条
- JS实现上传进度条
- JS实现上传进度条
- js实现进度条效果
- js实现进度条
- JS实现进度条效果
- js 进度条实现代码
- 进度条(js实现)
- js实现进度条
- JS实现进度条效果
- js进度条控件实现
- js实现进度条
- 仿淘宝顶部等待状态栏
- Mac 为什么不能拷贝文件到U盘
- Windows Install - cannot install Windows on disk of GPT style of partition
- iOS开发:创建真机调试证书
- 自定义TabBarController
- JS 实现简单进度条
- python 获取当前函数名和行号
- php5.6高版本开启curl
- cocos2dx 大地图分块加载的研究(初)
- MYSQL查询语句优化
- HttpMessageConverter(消息转换器 )和@responsebody使用
- GRE写作必备句型
- Fail to create the java Virtual Machine
- NTFS For Mac如何传输和删除数据