JS实现H5显示动态进度条

目录:

1. 问题描述

很多用户可能会想要在H5的方式下用进度条的方式显示数据,且想要有图表里条形动态显示的效果。

因为在H5下用条形图,预览性能很差,由于数据量很大,一个数据对应一个图表,图表加载不是同时加载,顺序显示,而且速度很慢。

222

注:该效果只能在H5页面实现,需下载移动端h5插件

2. 解决方法

这里提供一个方法:在单元格里用html元素来显示条形图,然后用js实现加载后的动画效果

3. 示例

3.1 模板样式修改

打开模板%FR_HOME%\WebReport\WEB-INF\reportlets\demo\analytics\sales\Sign.frm

修改单元格F3里的HTML代码,使初始条形宽度为0%

<table width=0% border=0 cellspacing=0 cellpadding=0 height='3'> <tr> <td bgcolor='#54b7e8'><div color=#ffffff align=right></div></td> </tr> </table> 

F列后插入一列,在单元格G3设置条形图长度百分比的值,然后将G列隐藏

K和L列的修改方法同上

3.2 动态效果JS设置

当前控件选择form,添加初始化后事件,实现动态加载的效果:
222

function myan(obj, mywidth, interval, sp) { clearInterval(obj.timer); obj.timer = setInterval(function(){ var flag = true; var icur=0; icur = parseFloat(obj.width()); var speed = (mywidth - icur) * sp; if(icur < mywidth){ flag = false; } obj.width(icur+speed); if(flag){ clearInterval(obj.timer); } },interval); } setTimeout(function() { $("td div table").each(function () { $width=$(this).parent().parent().next().find("span").text()*$(this).parent().parent().width()/100; myan($(this),$width,10, 0.1); })},50)

保存模板,预览时在报表路径后面加上参数op=h5即可看到如上效果

附件列表


主题: 二次开发
标签: 已验证

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)