拼接html不显示layui进度条解决方法
2024-08-28 20:19:42
最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条。按官网给出的 element.progress('demo', n+'%'); 就是回显不出来。
两种解决方法
一。html拼接完之后加上 element.init();
1.代码如下:
layui.use(['element', 'flow'], function () {
var element = layui.element,
flow = layui.flow
;
flow.load({
elem: tabId
, isAuto: true
, isLazyimg: true
, done: function (page, next) {
var initDataList = [];
//这里是调用后台接口返回数据代码
var itemHtml = "";
itemHtml += ' <div class="layui-progress coupon-percent" lay-showpercent="true">';
itemHtml += ' <div class="layui-progress-bar layui-bg-red" lay-percent="50%"></div>';
itemHtml += ' </div>';
initDataList.push(html);
next(initDataList.join(''), page < 10);
element.init();
}
});
}); 二。查看了下layui的进度条渲染原理,发现它只是在 calss 为 layui-progress-bar 的节点加上 width 属性而已,所以我们在拼接html时补上去就可以回显了,如果要显示文字的话就在那个节点把 <span class="layui-progress-text">xx%</span> 这个节点拼接上去。(这里可以不用
添加 element.init(); 也可以回显)
1.代码如下
layui.use(['element', 'flow'], function () {
var element = layui.element,
flow = layui.flow
;
flow.load({
elem: tabId
, isAuto: true
, isLazyimg: true
, done: function (page, next) {
var initDataList = [];
//这里是调用后台接口返回数据代码
var itemHtml = "";
itemHtml += ' <div class="layui-progress coupon-percent" lay-showpercent="true">';
itemHtml += ' <div class="layui-progress-bar layui-bg-red" lay-percent="50%" style="width: 50%"><span class="layui-progress-text">50%</span></div>';
itemHtml += ' </div>';
initDataList.push(html);
next(initDataList.join(''), page < 10);
}
});
}); 效果如图:
最新文章
- Linux C编程学习6---字符串处理、数据转换
- npm上传自己的项目
- poj 1695
- 分享:一款前端布局工具(alloydesigner)
- JS 日期对象在浏览器间的若干差异
- 【iCore、iCore2 双核心板】EPCS 实验(SPI Flash)(基于Verilog语言)
- 通过spring工厂读取property配置文件
- 每天一个小算法(matlab armijo)
- Vb.net/VB 声明API功能父窗口功能
- JS中字符串与数组的一些常用方法
- 为什么要进行URL编码
- JVM中判断对象是否存活的方法
- Interpreting the genomic landscape of speciation: a road map for finding barriers to gene flow
- BBS项目
- 【Python】【数据库】
- PopUpWindow使用详解(二)——进阶及答疑
- SQL Server 跨服务器快速数据转移
- shell 监控磁盘使用率【转】
- VirtualBox 虚拟机磁盘空间不够用,增大空间方法(这里以MAC为例)
- luogu P1396 营救