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 相关文章推荐
用Javscript实现表单复选框的全选功能
May 25 Javascript
javascript 面向对象编程 function也是类
Sep 17 Javascript
jQuery图片预加载 等比缩放实现代码
Oct 04 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
简单实现jQuery级联菜单
Jan 09 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 Javascript
旺旺在线客服代码 旺旺客服代码生成器
Jan 09 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 Javascript
微信小程序实现拖拽功能
Sep 26 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
坏狼的PHP学习教程之第2天
2008/06/15 PHP
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
javascript 函数调用规则
2009/08/26 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
浅谈webpack对样式的处理
2018/01/05 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
js实现录音上传功能
2019/11/22 Javascript
原生js实现随机点名
2020/07/05 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python 对xml解析的示例
2021/02/27 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers