解决layui轮播图有数据不显示的情况


Posted in Javascript onSeptember 16, 2019

最近接触了一个项目,要实现一个轮播图的功能,因为是在原有的项目上进行二次开发,项目前端用的是layui框架,楼主是后台方向,没怎么接触过前端,在用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轮播图有数据不显示的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
Nov 20 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
Position属性之relative用法
Dec 14 Javascript
Bootstrap树形控件使用方法详解
Jan 27 Javascript
JS实现页面打印功能
Mar 16 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
AngularJS中table表格基本操作示例
Oct 10 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 Javascript
jQuery实现推拉门效果
Oct 19 jQuery
基于layui轮播图满屏是高度自适应的解决方法
Sep 16 #Javascript
关于Layui Table隐藏列问题
Sep 16 #Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 #Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 #Javascript
解决微信小程序中的滚动穿透问题
Sep 16 #Javascript
微信小程序左滑删除实现代码实例
Sep 16 #Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 #Javascript
You might like
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python反转序列的方法实例分析
2018/03/21 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python3.5安装python3-tk详解
2019/04/26 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
利用python在excel中画图的实现方法
2020/03/17 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
yy生日主持词
2014/03/20 职场文书
重阳节慰问信
2015/02/15 职场文书
廉政承诺书2015
2015/04/28 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
nginx配置指令之server_name的具体使用
2022/08/14 Servers