layui 实现加载动画以及非真实加载进度的方法


Posted in Javascript onSeptember 23, 2019

近期在做一个网站的查询功能,但是由于数据量确实太大,分页查询后也是很慢,同时查询出的数据部分还要进行一些处理,导致用户说要我们给他们加一个查询进度,要百分比显示。加上加载动画很简单,layui有现成的。但是还要动画。。我tm(手动微笑),原谅我水平比较低。然后就瞎搞,终于搞出了一个加载的进度,虽然还是假的。。。

上面废话有点多,直接切入正题。

首先是html代码。。。。。(不存在的2333333........)

然后是js代码:

//这里是必须要有的,_index的作用是用来关闭遮罩,详细看layui的文档
 var _index;
 var _lp_baseTime = 0;
 var _lp_startTime = 0;
 function updateLoadProgress() {
  if (_lp_baseTime < 0) {
   layer.close(_index);
   return;
  }
  var dval = parseInt(new Date().valueOf())- parseInt(_lp_startTime);
  var timeDifference = (dval / _lp_baseTime).toFixed(2);
  var lp = timeDifference < 1 ? timeDifference * 100 : 99;
  $("#loadProgress").html(parseInt(lp));
  setTimeout(function () { updateLoadProgress(); return; }, 650);
 }
 
 
 function 你的函数(){
 
 $.ajax({
  url:url,
  async:true,
  data:{},
  beforeSend:function(){
   //敲黑板
   _index = layer.load(1, {
     content: "<div style='margin-left:-23px;padding-top:44px;width:120px;color:#FFF;'>正在查询(<span id='loadProgress' >0</span>%)</div>",
     shade: [0.5, '#000']
    });
   //这里是预估的时间,因为整个进度都是根据消耗时间计算的 = =
   //这里的start,end,stns都是原始项目里带的。这个的作用是计算要等待的时长的,可以给一个固定值或者其他的东西公式,保证结果是正整数,单位是毫秒即可。
   _lp_baseTime = Math.abs(new Date(end).valueOf() - new Date(start).valueOf()) / 3600000 * stns.split(',').length * 150;
   _lp_startTime = new Date().valueOf();
 
   setTimeout(function () { updateLoadProgress(); return; }, 60);
  },
  success:function(){ _lp_baseTime = -1; $("#loadProgress").html("100");layer.close(_index); },
  error:function(){
    _lp_baseTime = -1;
    layer.close(_index);
   }
 });
 
 }

OK,就是这么多,主要是利用预估的时间与现在已进行时间进行预估做比较,所以实际使用的时候还要进行一定程度的调整,但是,最起码也是个思路是不是233333,参考一下吧

超过时间时进度会定格在99%,所以,emmmm....注意预留一些时间

以上这篇layui 实现加载动画以及非真实加载进度的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
QQ邮箱的一个文本编辑器代码
Mar 14 Javascript
dess中一个简单的多路委托的实现
Jul 20 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
Jsonp post 跨域方案
Jul 06 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
Sep 03 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
如何从零开始利用js手写一个Promise库详解
Apr 19 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
uniapp,微信小程序中使用 MQTT的问题
Jul 11 Javascript
vue如何使用外部特殊字体的操作
Jul 30 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
Sep 23 #Javascript
ES10的13个新特性示例(小结)
Sep 23 #Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
Sep 23 #Javascript
vue多页面项目中路由使用history模式的方法
Sep 23 #Javascript
JS随机密码生成算法
Sep 23 #Javascript
详解mpvue开发微信小程序基础知识
Sep 23 #Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 #Javascript
You might like
Dedecms常用函数解析
2008/02/01 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
Javascript 自定义类型方法小结
2010/03/02 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
美国网上书店:Barnes & Noble
2018/08/15 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
服装厂厂长职责
2013/12/16 职场文书
家长评语和期望
2014/02/10 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书