体检营销型网站,深圳龙华区是富人区吗,宁波免费seo在线优化,广州网站建设推广服务1、实现原理 计算出已经处理的数据记录数与所有需要导出的数据记录数的比例#xff0c;根据每一个登陆用户的不同将比例存入缓存中#xff0c;前台设计一个定时器#xff0c;每隔一段时间去缓存中获取比例#xff0c;然后根据比例来展示一下下载的进度。
2、具体代码实现 …1、实现原理 计算出已经处理的数据记录数与所有需要导出的数据记录数的比例根据每一个登陆用户的不同将比例存入缓存中前台设计一个定时器每隔一段时间去缓存中获取比例然后根据比例来展示一下下载的进度。
2、具体代码实现
//下载比例的存储long totalCount 总记录数long a i * 100 / totalCount;cacheService.setCache(当前登陆用户ID特定的标志, a);--------------------------------------------------------------------------------//下载比例的获取String cache cacheService.getCache(当前登陆用户ID特定的标志);if (cache null) {cache 0;
}result.put(info, cache);if(f.equals(cache)) {cacheService.setCache(session(F_UID)PROGRESS,0);
}
$(#export).click(function(){//通过ajax去下载$.ajax({});//显示进度条$(#myProgress).show();$(#myBarMsg).show();$(#myBarMsg).html(当前进度0%);var elem document.getElementById(myBar); var width 0;//启动定时器var progressFunction setInterval(progress, 1000);//定时器执行任务function progress(){$.ajax({type:post,url:, //获取缓存中下载进度的urldata:{},success:function(data){if(data.info f){width 100;elem.style.width width %; $(#myBarMsg).html(当前进度100%导出成功);clearInterval(progressFunction);setTimeout(function(){ $(#myProgress).hide();$(#myBarMsg).hide(); width 0;elem.style.width width %; }, 5000);}else{console.log(已经处理的数据条数data.info);width data.info; elem.style.width width %; $(#myBarMsg).html(当前进度data.info%nbsp;nbsp;nbsp;nbsp;(label stylecolor:red;导出过程中请不要切换目录可打开新的窗口查看其他/label));}},error:function(xmlHttpReq, textStatus, errorThrown){alert(导出失败失败原因 textStatuserrorThrown);}});}}); !-- css --
#myProgress {width: 100%;height: 30px;position: relative;background-color: #ddd;border-radius:5px;
}#myBar {background-color: #4CAF50;width: 0px;height: 30px;position: absolute;border-radius:5px;
}!-- 下载进度 --
div idmyProgress styledisplay:none;div idmyBar/div
/div
div idmyBarMsg z-index:100/div