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 相关文章推荐
JavaScript 编程引入命名空间的方法与代码
Aug 13 Javascript
JavaScript 图片预览效果 推荐
Dec 22 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
js获取url中的参数且参数为中文时通过js解码
Mar 19 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
Feb 03 Javascript
详解JavaScript中return的用法
May 08 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
Vue 打包体积优化方案小结
May 20 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自动识别字符集并完成转码详解
2013/08/02 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
python快速查找算法应用实例
2014/09/26 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python实现Restful API的例子
2019/08/31 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
python 元组和列表的区别
2020/12/30 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
简历中自我评价分享
2013/10/09 职场文书
市场营销工作计划书
2014/09/15 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers