jquery模拟进度条实现方法


Posted in Javascript onAugust 03, 2015

本文实例讲述了jquery模拟进度条实现方法。分享给大家供大家参考。具体如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>js模拟进度条练习</title>
<script type='text/javascript' src="http://xiazai.3water.com/201508/yuanma/jquery-1.8.0.min.js"></script>
<script type='text/javascript' src='http://xiazai.3water.com/201508/yuanma/jquery.artDialog.js?skin=default'></script>
<style>
body{ font-size:12px}
.aui_nw, .aui_ne, .aui_sw, .aui_se { height: 1px; width: 1px; }
.aui_outer, .aui_inner { border: 0; }
.aui_state_lock .aui_border { box-shadow: 0 0 10px rgba(0, 0, 0, .8); }
</style>
</head>
<body>
<button id="starLoading">显示进度条</button>
<div id="msgHtml">https://3water.com</div>
</body>
</html>
<script>
  (function(w){
    var _html='<div style="line-height: 30px;text-align: center;">正在为您载入数据,请稍后……</div><div id="jsLoadOuter" style="width:250px;height:8px;border:#6BAAC9 solid 1px; background:#C0EBFF; margin:0 auto;box-shadow: 0 0 3px #2E94BB;padding:1px"><div id="jsLoadInner" style="background:#54AEE0;height:100%;width:0"></div></div>';
    var __g;
    var _maxWidth=100;
    var _nowWidth=0;
    var _speed=30;
    var _step=2;
    var __time;
    progress={
      render:function(fn){
        fn&&fn(_html);
        _nowWidth=0;
        __g=document.getElementById('jsLoadInner');
        this.fx();
      },
      complete:function(fn){
        clearTimeout(__time);
        progress.completeFn=fn;
        this.setOver();
      },     
      setOver:function(){
        var _stepa=_step*1.5;
        if(_nowWidth<_maxWidth){
          _nowWidth=_nowWidth-0+_stepa;
          parseInt(_nowWidth)>parseInt(_maxWidth)?_nowWidth=_maxWidth:'';
          __g.style.width=''+_nowWidth+'%';
          _speed=(_maxWidth-_nowWidth)/1000;
          __time=setTimeout('progress.setOver()',_speed) ;
        }else{
          clearTimeout(__time);
          progress.completeFn&&progress.completeFn();
        };
      },
      fx:function(){
        var _stepa=_step;
        if(_nowWidth<_maxWidth-5){
          _stepa=_nowWidth>_maxWidth*0.6?(_stepa*0.02):_stepa;
          _nowWidth=_nowWidth-0+_stepa;
          parseInt(_nowWidth)>parseInt(_maxWidth)?_nowWidth=_maxWidth:'';
          __g.style.width=''+_nowWidth+'%';
          __time=setTimeout('progress.fx()',_speed);
        }else{
          clearTimeout(__time);
        };
      }
    }
    w.progress=progress;
  })(window)
  //
  $(function(){
    showLoading();
    $('body')
    .on('click','#starLoading',function(){
      showLoading();         
    })       
  })
  function showLoading(){
    //开始显示进度条
    progress.render(function(html){
        art.dialog({id:"jsLoadingDialog",title:"\u6b63\u5728\u52a0\u8f7d\u4e2d\u2026\u2026",cancel:!1,lock:!0,background:"#fff",fixed:!0,content:html});
    }); 
    //请求完成后完成进度条,,,模拟10秒后请求完成
    setTimeout(function(){
      progress.complete(function(html){
        art.dialog.list['jsLoadingDialog']&&art.dialog.list['jsLoadingDialog'].close();
        $('#msgHtml').html('进度条已走完');
      });
    },10000);    
  };
</script>

运行效果如下图所示:

jquery模拟进度条实现方法

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
js使用正则实现ReplaceAll全部替换的方法
Jul 18 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
May 25 Javascript
JavaScript实现将UPC转换成ISBN的方法
May 26 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
Node.js Streams文件读写操作详解
Jul 04 Javascript
bootstrap3-dialog-master模态框使用详解
Aug 22 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 Javascript
js实现圆盘记速表
Aug 03 #Javascript
包含中国城市的javascript对象实例
Aug 03 #Javascript
jQuery跨域问题解决方案
Aug 03 #Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 #Javascript
提高jQuery性能优化的技巧
Aug 03 #Javascript
jquery简单实现幻灯片的方法
Aug 03 #Javascript
JS拖拽插件实现步骤
Aug 03 #Javascript
You might like
php学习笔记之 函数声明(二)
2011/06/09 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
学习Python selenium自动化网页抓取器
2018/01/20 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python实现网页自动签到功能
2019/01/21 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
python如何实现异步调用函数执行
2019/07/08 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
自我评价怎么写好呢?
2013/12/05 职场文书
诚信考试承诺书
2014/03/27 职场文书
一年级学生评语
2014/04/23 职场文书
道德演讲稿
2014/05/21 职场文书
销售活动策划方案
2014/08/26 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
十七岁的单车观后感
2015/06/12 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
创业计划书之家政服务
2019/09/18 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python