时间:2021-05-18
最近接触了一个项目,要实现一个轮播图的功能,因为是在原有的项目上进行二次开发,项目前端用的是layui框架,楼主是后台方向,没怎么接触过前端,在用layui实现轮播图时,发现异步从后台获取数据,但是轮播图片不显示,显示如下:
用浏览器调试发现,<div carousel-item="">下面已经有几个<div>了,说明是有数据的。那怎么不显示呢?后来发现是在获取数据之前,页面已经初始化了,当然不能显示啦,这是时候需要在获取数据填充html时,回调reload(options)方法。
先贴上HTML代码:
<div class="layui-carousel" id="test1" lay-filter="test1"> <div carousel-item=""> <script id="charts" type="text/html"> 这里是动态遍历的代码 </script> </div></div>获取数据代码的反例示例:
layui.use('carousel', function(){ var carousel = layui.carousel; //建造实例 carousel.render({ elem: '#test1' ,width: '100%' //设置容器宽度 ,arrow: 'always' //始终显示箭头 //,anim: 'updown' //切换动画方式 }); //这里是用jQuery异步获取数据的大致代码 $.get("请求的URL",function (data) { var tpl = $("#charts").html(); laytpl(tpl).render(data,function (html) { $("#test1").children('div').html(html); }); });});解决问题的代码示例:
layui.use('carousel', function(){ var carousel = layui.carousel; //建造实例 var ins = carousel.render({ elem: '#test1' ,width: '100%' //设置容器宽度 ,arrow: 'always' //始终显示箭头 //,anim: 'updown' //切换动画方式 }); //这里是用jQuery异步获取数据的大致代码 $.get("请求的URL",function (data) { var tpl = $("#charts").html(); laytpl(tpl).render(data,function (html) { $("#test1").children('div').html(html); //下面这步很重要 ins.reload({elem: '#test1'});//重置轮播图 }); });});至于为啥用
$("#test1").children('div').html(html);因为<div carousel-item="">加idname会报错,所以没用下面这种方式填充html
$("#idname").html(html);以上这篇解决layui轮播图有数据不显示的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
win7上图片只显示图标,不显示缩略图;不管是调节小图、中图还是大图或者其他均不显示;而且这种情况下使用截图工具截下来的图片都不自动带上扩展名,怎么办呢?解决方
初学layui时会遇到layui的下拉框总是显示不出来代码没问题但是页面就是不显示下拉框复制下面js代码layui.use('form',function(){
水晶报表布置后里面的图片不显示的情况,分两种:一是:水晶报表工具栏上的图片不显示;二是:水晶报表中的的图片对象不显示;针对第一种情况的解决方法:对于工具栏上的图
问题描述: win7上图片只显示图标,不显示缩略图;不管是调节小图、中图还是大图或者其他均不显示;而且这种情况下使用截图工具截下来的图片都不自动带上扩展名
Jquery必须大于1.83layui必须是all,否则不显示html代码主要js代码$('input#about').on('click',function(